{"id":259802,"date":"2025-12-01T07:48:28","date_gmt":"2025-12-01T07:48:28","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/aeo-agent\/"},"modified":"2025-12-27T19:15:44","modified_gmt":"2025-12-27T19:15:44","slug":"mandat-aeo-assistant","status":"publish","type":"plugin","link":"https:\/\/lv.wordpress.org\/plugins\/mandat-aeo-assistant\/","author":23395933,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"3.2.8","stable_tag":"3.2.8","tested":"6.9.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Mandat AEO Assistant","header_author":"Mandat (Leo)","header_description":"Generate long-form SEO, AEO articles with a 2-pane UI using Google Gemini API. Integrates a highly detailed, structured prompt for superior quality.","assets_banners_color":"e1dff0","last_updated":"2025-12-27 19:15:44","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/eonsr.com\/","rating":5,"author_block_rating":0,"active_installs":0,"downloads":192,"num_ratings":1,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"3.2.7":{"tag":"3.2.7","author":"mandat","date":"2025-12-01 07:49:52"},"3.2.8":{"tag":"3.2.8","author":"mandat","date":"2025-12-27 19:15:44"}},"upgrade_notice":{"3.2.8":"<p>Security and compliance update required for WordPress.org submission. Includes comprehensive external services documentation and improved code security.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3406539,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3406539,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":3406539,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["3.2.7","3.2.8"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Article Studio interface - Main content generation screen","2":"Article preview with real-time editing capabilities","3":"Image generation settings and options","4":"Cost report dashboard with detailed analytics","5":"Settings page for API configuration"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[244526,2353,8494,224606,186],"plugin_category":[55],"plugin_contributors":[],"plugin_business_model":[],"class_list":["post-259802","plugin","type-plugin","status-publish","hentry","plugin_tags-aeo","plugin_tags-ai","plugin_tags-content-generation","plugin_tags-gemini","plugin_tags-seo","plugin_category-seo-and-marketing","plugin_committers-mandat","plugin_committers-smitheonsr"],"banners":{"banner":"https:\/\/ps.w.org\/mandat-aeo-assistant\/assets\/banner-772x250.jpg?rev=3406539","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/mandat-aeo-assistant\/assets\/icon-128x128.png?rev=3406539","icon_2x":"https:\/\/ps.w.org\/mandat-aeo-assistant\/assets\/icon-256x256.png?rev=3406539","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Mandat AEO Assistant is a powerful WordPress plugin that leverages Google's Gemini AI and Vertex AI to automatically generate high-quality, SEO-optimized blog posts. The plugin provides a comprehensive Article Studio interface where you can:<\/p>\n\n<ul>\n<li>Generate long-form articles (&gt;=1600 words) using Google Gemini 2.0\/2.5 models<\/li>\n<li>Create AI-generated featured and in-content images using Imagen 4.0<\/li>\n<li>Automatically insert internal links from your existing content<\/li>\n<li>Find and embed relevant YouTube videos<\/li>\n<li>Generate SEO metadata (meta descriptions, focus keywords, tags)<\/li>\n<li>Support for both Vietnamese and English content<\/li>\n<li>Automatic translation with Polylang integration<\/li>\n<li>Real-time cost tracking for all API usage <\/li>\n<\/ul>\n\n<p>The plugin is designed for content creators, bloggers, and digital marketers who want to streamline their content production workflow while maintaining high quality and SEO best practices.<\/p>\n\n<h3>External Services<\/h3>\n\n<p>This plugin connects to external Google Cloud services to provide AI-powered features. Below is detailed information about each service used, what data is transmitted, and when these connections occur.<\/p>\n\n<h4>Google Cloud Vertex AI - Gemini API<\/h4>\n\n<p><strong>Purpose:<\/strong> Generates AI-powered article content using Google's Gemini language models (gemini-2.0-flash-exp, gemini-2.5-pro, gemini-2.5-flash, gemini-2.5-flash-lite).<\/p>\n\n<p><strong>When used:<\/strong> \n- When you click \"Create Article\" in the Article Studio interface\n- When using the automatic translation feature with Polylang<\/p>\n\n<p><strong>Data sent to Google:<\/strong>\n- Your article topic, keywords, and content generation parameters\n- Source text for translation (when translating existing content)\n- Your Google Cloud Service Account credentials for authentication\n- No personal user data from your website visitors is ever sent<\/p>\n\n<p><strong>Data received from Google:<\/strong>\n- Generated HTML article content\n- SEO metadata suggestions (titles, descriptions, keywords)\n- Token usage statistics for cost tracking<\/p>\n\n<p><strong>API Endpoint:<\/strong> https:\/\/us-central1-aiplatform.googleapis.com\/v1\/projects\/{project_id}\/locations\/us-central1\/publishers\/google\/models\/<\/p>\n\n<p><strong>Service Terms:<\/strong> https:\/\/cloud.google.com\/terms<\/p>\n\n<p><strong>Privacy Policy:<\/strong> https:\/\/policies.google.com\/privacy<\/p>\n\n<h4>Google Cloud Vertex AI - Imagen API<\/h4>\n\n<p><strong>Purpose:<\/strong> Generates AI images for featured images and in-content illustrations using Google's Imagen 4.0 model.<\/p>\n\n<p><strong>When used:<\/strong> \n- When you click \"Generate Images\" after article creation\n- Images are only generated when you explicitly request them<\/p>\n\n<p><strong>Data sent to Google:<\/strong>\n- Text prompts describing the desired images\n- Image generation parameters (aspect ratio, style)\n- Your Google Cloud Service Account credentials\n- No personal data or user information is transmitted<\/p>\n\n<p><strong>Data received from Google:<\/strong>\n- Base64-encoded PNG image data\n- Generation metadata<\/p>\n\n<p><strong>API Endpoint:<\/strong> https:\/\/us-central1-aiplatform.googleapis.com\/v1\/projects\/{project_id}\/locations\/us-central1\/publishers\/google\/models\/imagen-4.0-generate-001:predict<\/p>\n\n<p><strong>Service Terms:<\/strong> https:\/\/cloud.google.com\/terms<\/p>\n\n<p><strong>Privacy Policy:<\/strong> https:\/\/policies.google.com\/privacy<\/p>\n\n<h4>Google OAuth2 API<\/h4>\n\n<p><strong>Purpose:<\/strong> Authenticates your Google Cloud Service Account to securely access Vertex AI services.<\/p>\n\n<p><strong>When used:<\/strong> Automatically before each API call to Gemini or Imagen (access tokens are cached for 55 minutes to minimize requests).<\/p>\n\n<p><strong>Data sent to Google:<\/strong>\n- JWT (JSON Web Token) signed with your Service Account private key\n- Service Account email address\n- Timestamp and token expiration data<\/p>\n\n<p><strong>Data received from Google:<\/strong>\n- Temporary access token (valid for 1 hour)\n- Token expiration timestamp<\/p>\n\n<p><strong>API Endpoint:<\/strong> https:\/\/oauth2.googleapis.com\/token<\/p>\n\n<p><strong>Service Terms:<\/strong> https:\/\/developers.google.com\/terms<\/p>\n\n<p><strong>Privacy Policy:<\/strong> https:\/\/policies.google.com\/privacy<\/p>\n\n<h4>YouTube Data API v3<\/h4>\n\n<p><strong>Purpose:<\/strong> Searches for and retrieves YouTube video information to embed relevant videos in articles.<\/p>\n\n<p><strong>When used:<\/strong> Only when the \"Generate YouTube Video\" option is enabled during article creation.<\/p>\n\n<p><strong>Data sent to Google:<\/strong>\n- Search keywords related to your article topic\n- Language and region preferences\n- Your YouTube Data API key<\/p>\n\n<p><strong>Data received from Google:<\/strong>\n- Video IDs, titles, and descriptions\n- Channel information\n- Video metadata (upload date, thumbnails)<\/p>\n\n<p><strong>API Endpoint:<\/strong> https:\/\/www.googleapis.com\/youtube\/v3\/search<\/p>\n\n<p><strong>Service Terms:<\/strong> https:\/\/developers.google.com\/youtube\/terms\/api-services-terms-of-service<\/p>\n\n<p><strong>Privacy Policy:<\/strong> https:\/\/policies.google.com\/privacy<\/p>\n\n<h4>Google Custom Search API<\/h4>\n\n<p><strong>Purpose:<\/strong> Searches the web to gather factual information and current sources to enhance article accuracy and relevance.<\/p>\n\n<p><strong>When used:<\/strong> Automatically during article generation to provide the AI with up-to-date context and credible sources.<\/p>\n\n<p><strong>Data sent to Google:<\/strong>\n- Search queries based on your article topic and keywords\n- Language and region preferences\n- Your Custom Search Engine ID and API key\n- Number of results requested (typically 3-10)<\/p>\n\n<p><strong>Data received from Google:<\/strong>\n- Search result titles, URLs, and snippets\n- Page metadata<\/p>\n\n<p><strong>API Endpoint:<\/strong> https:\/\/www.googleapis.com\/customsearch\/v1<\/p>\n\n<p><strong>Service Terms:<\/strong> https:\/\/developers.google.com\/custom-search\/v1\/overview<\/p>\n\n<p><strong>Privacy Policy:<\/strong> https:\/\/policies.google.com\/privacy<\/p>\n\n<h4>Privacy and Data Protection<\/h4>\n\n<p><strong>Important notes:<\/strong>\n- No personal data from your website visitors (names, emails, IP addresses) is ever transmitted to external services\n- All API calls are initiated only by authenticated WordPress administrators\n- API keys and credentials are stored securely in your WordPress database (encrypted or hashed where possible)\n- Generated content is saved to your WordPress database only; Google does not retain your content beyond the time needed for API processing\n- Cost tracking data (token usage) is stored locally in your WordPress database\n- This plugin does not use cookies or collect any user data from your site visitors<\/p>\n\n<p><strong>GDPR Compliance:<\/strong> This plugin does not collect, store, or transmit any personal data from your website visitors. All external API calls are initiated exclusively by authenticated WordPress administrators for content generation purposes.<\/p>\n\n<h3>Credits<\/h3>\n\n<p>This plugin integrates with the following Google Cloud services:\n- Google Cloud Vertex AI (Gemini language models and Imagen image generation)\n- Google OAuth2 API for secure authentication\n- YouTube Data API v3 for video content\n- Google Custom Search API for web research<\/p>\n\n<p>All trademarks and service marks are the property of their respective owners.<\/p>\n\n<h3>Support<\/h3>\n\n<p>For support, feature requests, or bug reports, please visit: https:\/\/eonsr.com\/<\/p>\n\n<h3>License<\/h3>\n\n<p>This plugin is licensed under GPL-2.0-or-later. See https:\/\/www.gnu.org\/licenses\/gpl-2.0.html for details.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to <code>\/wp-content\/plugins\/mandat-aeo-assistant<\/code> directory, or install through the WordPress plugins screen.<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress.<\/li>\n<li>Go to <strong>Settings &gt; Mandat AEO Assistant<\/strong> to configure your Google Cloud API credentials:\n\n<ul>\n<li>Google Cloud Service Account JSON (for Vertex AI access)<\/li>\n<li>Google Cloud Project ID<\/li>\n<li>YouTube Data API Key (optional - for video embedding)<\/li>\n<li>Custom Search API Key and Engine ID (optional - for web research)<\/li>\n<\/ul><\/li>\n<li>Navigate to <strong>Mandat AEO Assistant &gt; Article Studio<\/strong> to start generating content.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id='do%20i%20need%20a%20google%20cloud%20account%3F'><h3>Do I need a Google Cloud account?<\/h3><\/dt>\n<dd><p>Yes, you need a Google Cloud account with billing enabled. The plugin uses Vertex AI (Gemini and Imagen) which are paid services. Google offers $300 in free credits for new users.<\/p><\/dd>\n<dt id='how%20much%20does%20it%20cost%20to%20generate%20an%20article%3F'><h3>How much does it cost to generate an article?<\/h3><\/dt>\n<dd><p>Approximate costs per article (may vary based on configuration):\n- Gemini API: $0.01 - $0.05 per article (depends on length and model)\n- Imagen API: ~$0.08 for 2 images\n- Custom Search API: ~$0.01 per search query\n- YouTube API: Free (uses daily quota units)<\/p>\n\n<p>The plugin includes a built-in Cost Report dashboard to track all API expenses.<\/p><\/dd>\n<dt id='can%20i%20use%20this%20without%20polylang%3F'><h3>Can I use this without Polylang?<\/h3><\/dt>\n<dd><p>Yes! Polylang integration is completely optional. The plugin will work perfectly fine without Polylang installed, generating articles in your chosen language (English or Vietnamese).<\/p><\/dd>\n<dt id='is%20the%20generated%20content%20unique%3F'><h3>Is the generated content unique?<\/h3><\/dt>\n<dd><p>Yes, all content is uniquely generated by Google's Gemini AI based on your specific prompts and web research. However, you should always review and edit AI-generated content before publishing to ensure accuracy and match your brand voice.<\/p><\/dd>\n<dt id='what%20wordpress%20version%20do%20i%20need%3F'><h3>What WordPress version do I need?<\/h3><\/dt>\n<dd><p>WordPress 6.0 or higher is required. The plugin has been tested up to WordPress 6.8.<\/p><\/dd>\n<dt id='is%20my%20api%20key%20secure%3F'><h3>Is my API key secure?<\/h3><\/dt>\n<dd><p>Your API keys and Service Account credentials are stored in your WordPress database. We recommend using proper file permissions and security plugins to protect your WordPress installation.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>3.2.8<\/h4>\n\n<ul>\n<li>Updated: Comprehensive external services documentation in readme<\/li>\n<li>Fixed: Proper escaping for wp_add_inline_style() to comply with WordPress.org security guidelines<\/li>\n<li>Fixed: Removed direct style block creation in AJAX handlers<\/li>\n<li>Improved: Code security and WordPress coding standards compliance<\/li>\n<li>Enhanced: Privacy and GDPR compliance documentation<\/li>\n<\/ul>\n\n<h4>3.2.7<\/h4>\n\n<ul>\n<li>Fixed: Proper use of wp_add_inline_style() instead of echoing style tags<\/li>\n<li>Fixed: Removed direct style block creation in AJAX handlers<\/li>\n<li>Improved: Updated code to comply with WordPress.org plugin guidelines<\/li>\n<li>Updated: Comprehensive documentation of external services in readme<\/li>\n<\/ul>\n\n<h4>3.2.5<\/h4>\n\n<ul>\n<li>Added: Polylang automatic translation support<\/li>\n<li>Added: Internal link translation for multilingual sites<\/li>\n<li>Improved: Cost tracking for translation operations<\/li>\n<li>Fixed: Image generation error handling<\/li>\n<\/ul>\n\n<h4>3.2.4<\/h4>\n\n<ul>\n<li>Added: Real-time content editing in preview<\/li>\n<li>Added: Category selection for posts<\/li>\n<li>Improved: UI\/UX with better loading states<\/li>\n<li>Fixed: CSS scoping issues<\/li>\n<\/ul>\n\n<h4>3.2.3<\/h4>\n\n<ul>\n<li>Added: Cost report filtering by date range<\/li>\n<li>Added: Detailed token usage breakdown<\/li>\n<li>Improved: Database structure for better performance<\/li>\n<\/ul>\n\n<h4>3.2.0<\/h4>\n\n<ul>\n<li>Initial public release<\/li>\n<li>Gemini 2.0 and 2.5 model support<\/li>\n<li>Imagen 4.0 image generation<\/li>\n<li>YouTube video embedding<\/li>\n<li>Custom Search integration<\/li>\n<\/ul>","raw_excerpt":"AI-powered content generation plugin using Google Gemini API to create long-form SEO articles with images, internal linking, and Polylang integration.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/lv.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/259802","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lv.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/lv.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/lv.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=259802"}],"author":[{"embeddable":true,"href":"https:\/\/lv.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/mandat"}],"wp:attachment":[{"href":"https:\/\/lv.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=259802"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/lv.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=259802"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/lv.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=259802"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/lv.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=259802"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/lv.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=259802"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/lv.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=259802"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}