 #  System - AI Meta Documentation 

 

- Extension Page: [System - AI Meta](/software/joomla/plugins/system-ai-meta)

System - AI Meta is a Joomla plugin designed to automate the generation of SEO-friendly meta descriptions and keywords for your content using AI services. Compatible with Joomla 5.x, it integrates with AI providers like Ollama and OpenAI-compatible APIs to create tailored meta content based on your articles, contacts, or custom fields. This documentation provides a comprehensive guide to installing, configuring, and using the plugin to enhance your site's search engine optimization.

## Installation

1. Download: Obtain the plugin from the Joomla Extensions Directory or the developer's website.
2. Install: 
    - Log in to your Joomla administrator panel.
    - Navigate to System &gt; Install &gt; Extensions.
    - Upload the plugin package (e.g., plg\_system\_aimeta.zip) or install via the Joomla installer.
3. Enable: 
    - Go to System &gt; Manage &gt; Plugins.
    - Search for "System - AI Meta" and enable the plugin.
 
## Requirements

- Joomla 5.x or later.
- PHP 7.4 or higher.
- Access to an AI service (Ollama or OpenAI-compatible API).
- Administrative access to your Joomla site.
- cURL extension enabled for OpenAI-compatible connections (for model retrieval).
 
## Configuration

The plugin is configured through the Joomla plugin manager. Follow these steps to set it up:

1. Access Plugin Settings: 
    - Go to System &gt; Manage &gt; Plugins.
    - Search for "System - AI Meta" and click to edit.
2. Basic Settings: 
    - Instructions: A description field explaining the plugin's purpose (no configuration required).
3. Connections: 
    - Connection Instances: Add one or more AI service connections using the subform. 
        - Connection Name: A unique name for the connection (e.g., "MyOllama").
        - Connection Type: Choose between "Ollama" or "OpenAI Compatible".
        - Connection URL: Enter the AI service endpoint (e.g., http://localhost:11434 for Ollama).
        - API Key: Provide the API key for OpenAI-compatible services (leave blank for Ollama unless required).
    - Multiple connections can be added for flexibility.
4. Meta Descriptions: 
    - Connection: Select a configured AI connection for generating meta descriptions.
    - Model: Choose an AI model (populated dynamically based on the selected connection).
    - Temperature: Set a value between 0 and 2 (default: 0.7). Lower values produce focused outputs; higher values increase creativity.
    - Knowledge Files: Optionally specify knowledge file IDs from your AI provider for enhanced context (leave blank if unused).
    - Prompt: Define a chat conversation to guide meta description generation. 
        - Role: Choose "System", "User", or "Assistant" to define the message's context.
        - Content: Use placeholders like %title%, %article%, or %#jform\_field\_id% to include dynamic content. For example:  ```
            System: Generate a meta description (120–160 characters) for an article with the title "%title%" and content "%article%".
            ```
        - Multiple prompt entries can be added to create a conversation flow.
5. Meta Keywords: 
    - Similar to Meta Descriptions, configure: 
        - Connection, Model, Temperature, and Knowledge Files.
        - Prompt: Define a chat conversation for keywords. For example:  ```
            System: Generate 5–10 relevant keywords for an article with the title "%title%" and content "%article%".
            ```
    - The plugin automatically cleans keywords by removing leading/trailing commas or periods.
6. Save: Click Save &amp; Close to apply the configuration.
 
## Usage

Once configured, the plugin integrates into Joomla's content editing interface for supported contexts (e.g., com\_content.article, com\_contact.contact).

1. Edit Content: 
    - Navigate to Content &gt; Articles or Components &gt; Contacts and open an item to edit.
2. Generate Meta Content: 
    - In the article or contact editor, locate the Meta Description or Meta Keywords fields.
    - Click the AI Generate button next to the field to generate content based on your configured prompts and AI settings.
    - The plugin pulls content from fields like the title, article text, or custom fields (using %#jform\_field\_id%) and sends it to the AI service.
3. Regenerate Content: 
    - If the generated content needs refinement, click the Regenerate button (with a repeat icon).
    - Provide a brief reason for regeneration (e.g., "Make it more concise") to guide the AI.
    - The plugin sends the current meta content and reason to the AI for improved output.
4. Save Content: After generating or regenerating, save the article or contact to store the meta content.
 
## Features

- AI Integration: Supports Ollama and OpenAI-compatible APIs for flexible AI model usage.
- Dynamic Prompts: Use placeholders (%title%, %article%, %keywords%, %#jform\_field\_id%) to incorporate content dynamically.
- Customizable Output: Adjust temperature for creative or deterministic results and use knowledge files for context.
- User-Friendly Interface: Adds "AI Generate" and "Regenerate" buttons to Joomla's editor for seamless operation.
- Context Support: Works with articles, contacts, and custom fields, with potential for additional contexts.
- Caching: Caches AI model lists to improve performance during configuration.
- Security: Restricts access to authorized users (requires core.admin permission) and uses Joomla’s CSRF token for API requests.
 
## Technical Details

- Supported Contexts: com\_content.article, com\_contact.contact (extensible via code modifications).
- Events: Listens to onAjaxAimeta for API requests and onContentPrepareForm for form enhancements.
- JavaScript: 
    - admin.js: Handles dynamic model loading in the plugin configuration based on selected AI connections.
    - aimeta.js: Manages the front-end interface, adding buttons and handling meta content generation.
- PHP Classes: 
    - AIMeta.php: Core plugin logic, handling AI requests and form preparation.
    - provider.php: Service provider for Joomla’s dependency injection.
    - JavascriptField.php and BetterspacerField.php: Custom form fields for enhanced configuration UI.
- XML Forms: Define configuration fields for connections, prompts, and knowledge files (connections.xml, ai.xml, chat.xml, knowledge.xml).
- Caching: Uses Joomla’s caching system for model retrieval (configurable via plugin settings).
- Dependencies: Requires the ArdaGnsrn\\Ollama library for Ollama connections (included via vendor/autoload.php).
 
## Troubleshooting

- No Models Loaded: 
    - Verify the AI service URL and API key (if applicable).
    - Ensure the AI service is running and accessible.
    - Check Joomla’s error logs for cURL or API errors.
- Generation Fails: 
    - Confirm the user has core.admin permissions.
    - Ensure the session is active and CSRF token is valid.
    - Check prompt configuration for valid placeholders.
- Invalid Output: 
    - Adjust the temperature setting for more focused or creative results.
    - Refine prompts to provide clearer instructions to the AI.
    - Use the "Regenerate" feature with a specific reason to improve output.
- Performance Issues: 
    - Enable caching in the plugin settings to reduce API calls.
    - Verify server resources and AI service responsiveness.
 
## Security Considerations

- User Authorization: Only users with core.admin permissions can generate meta content.
- API Key Storage: Store API keys securely in the plugin configuration and avoid sharing them.
- CSRF Protection: The plugin uses Joomla’s CSRF token for all API requests.
- Session Validation: Ensures active sessions to prevent unauthorized access.
 


- [      email ](mailto:?subject=System+-+AI+Meta+Documentation&body=https%3A%2F%2Fwww.richeyweb.com%2Fsoftware%2Fdocumentation%2Fsystem-ai-meta-documentation)
- [      facebook ](https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fwww.richeyweb.com%2Fsoftware%2Fdocumentation%2Fsystem-ai-meta-documentation)
- [      x-twitter ](https://twitter.com/intent/tweet?text=System+-+AI+Meta+Documentation%3A+https%3A%2F%2Fwww.richeyweb.com%2Fsoftware%2Fdocumentation%2Fsystem-ai-meta-documentation)
- [      linkedin ](http://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fwww.richeyweb.com%2Fsoftware%2Fdocumentation%2Fsystem-ai-meta-documentation&title=System+-+AI+Meta+Documentation&summary=System+-+AI+Meta+is+a+Joomla+plugin+designed+to+au...)
- [      pinterest ](http://pinterest.com/pin/create/button/?url=https%3A%2F%2Fwww.richeyweb.com%2Fsoftware%2Fdocumentation%2Fsystem-ai-meta-documentation&media=https%3A%2F%2Fcdn.joomla.org%2Fimages%2Fjoomla-org-og.jpg&description=System+-+AI+Meta+Documentation)
 


 

   [  Previous article: System - AdminExile Documentation   System - AdminExile Documentation ](/software/documentation/system-adminexile) [  Next article: System - Article Hits Documentation  System - Article Hits Documentation  ](/software/documentation/system-article-hits)  

##### We Value Your Privacy

 

We use cookies to enhance your experience and for traffic analysis. By continuing to visit this site you agree to our use of cookies.

[Privacy Policy](/privacy-policy)

 Details 

###### Google Tag Manager Items

- Ad Storage
- Ad User Data
- Ad Personalization
- Analytics Storage
- Functionality Storage
- Personalization Storage
- Security Storage
 
 

 

 

 

 

 Decline Accept
```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://www.richeyweb.com/#organization","name":"RicheyWeb","url":"https://www.richeyweb.com/","logo":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/logo/richeyweb.svg","contentUrl":"https://www.richeyweb.com/images/logo/richeyweb.svg","width":{"@type":"QuantitativeValue","value":38,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":38,"unitCode":"PX"},"@id":"https://www.richeyweb.com/#logo"},"image":{"@id":"https://www.richeyweb.com/#logo"},"sameAs":["https://x.com/ComRicheyweb","https://www.facebook.com/RicheyWebDev/","https://www.youtube.com/channel/UCxnVG8BwOvQRO7hVqNX7T2g","https://community.joomla.org/service-providers-directory/listings/115:richeyweb.html"],"description":"RicheyWeb is a custom software developer specializing in Joomla extensions.","ContactPoint":[{"@type":"ContactPoint","url":"https://www.richeyweb.com/contact-us","telephone":"903-873-8460","contactType":"Owner/Administrator","areaServed":["United States",{"@type":"Country","name":"United States","sameAs":["https://en.wikipedia.org/wiki/United_States","https://www.wikidata.org/wiki/Q30","https://g.co/kg/m/09c7w0"]},"European Union",{"@type":"AdministrativeArea","name":"European Union","sameAs":["https://en.wikipedia.org/wiki/European_Union","https://www.wikidata.org/wiki/Q458","https://g.co/kg/m/0_6t_z8"]},"United Kingdom",{"@type":"Country","name":"United Kingdom","sameAs":["https://en.wikipedia.org/wiki/United_Kingdom","https://www.wikidata.org/wiki/Q145","https://g.co/kg/m/07ssc"]},"Australia",{"@type":"Country","name":"Australia","sameAs":["https://en.wikipedia.org/wiki/Australia","https://www.wikidata.org/wiki/Q408","https://g.co/kg/m/0chghy"]},"Canada",{"@type":"Country","name":"Canada","sameAs":["https://en.wikipedia.org/wiki/Canada","https://www.wikidata.org/wiki/Q16","https://g.co/kg/m/0d060g"]},"Russia",{"@type":"Country","name":"Russia","sameAs":["https://en.wikipedia.org/wiki/Russia","https://www.wikidata.org/wiki/Q159","https://g.co/kg/m/06bnz"]},"China",{"@type":"Country","name":"China","sameAs":["https://en.wikipedia.org/wiki/China","https://www.wikidata.org/wiki/Q148","https://g.co/kg/m/0d05w3"]}],"availableLanguage":"en"},{"@type":"ContactPoint","url":"https://www.richeyweb.com/bugs","telephone":"903-873-8460","contactType":"Technical Support","areaServed":["United States",{"@type":"Country","name":"United States","sameAs":["https://en.wikipedia.org/wiki/United_States","https://www.wikidata.org/wiki/Q30","https://g.co/kg/m/09c7w0"]},"European Union",{"@type":"AdministrativeArea","name":"European Union","sameAs":["https://en.wikipedia.org/wiki/European_Union","https://www.wikidata.org/wiki/Q458","https://g.co/kg/m/0_6t_z8"]},"United Kingdom",{"@type":"Country","name":"United Kingdom","sameAs":["https://en.wikipedia.org/wiki/United_Kingdom","https://www.wikidata.org/wiki/Q145","https://g.co/kg/m/07ssc"]},"Australia",{"@type":"Country","name":"Australia","sameAs":["https://en.wikipedia.org/wiki/Australia","https://www.wikidata.org/wiki/Q408","https://g.co/kg/m/0chghy"]},"Canada",{"@type":"Country","name":"Canada","sameAs":["https://en.wikipedia.org/wiki/Canada","https://www.wikidata.org/wiki/Q16","https://g.co/kg/m/0d060g"]},"Russia",{"@type":"Country","name":"Russia","sameAs":["https://en.wikipedia.org/wiki/Russia","https://www.wikidata.org/wiki/Q159","https://g.co/kg/m/06bnz"]},"China",{"@type":"Country","name":"China","sameAs":["https://en.wikipedia.org/wiki/China","https://www.wikidata.org/wiki/Q148","https://g.co/kg/m/0d05w3"]}],"availableLanguage":"en"}],"knowsAbout":["Computer programming",{"@type":"Thing","name":"Computer programming","sameAs":["https://en.wikipedia.org/wiki/Computer_programming","https://www.wikidata.org/wiki/Q80006","https://g.co/kg/m/01mf_"]},"PHP",{"@type":"Thing","name":"PHP","sameAs":["https://en.wikipedia.org/wiki/PHP","https://www.wikidata.org/wiki/Q59","https://g.co/kg/m/060kv"]},"JavaScript",{"@type":"Thing","name":"JavaScript","sameAs":["https://en.wikipedia.org/wiki/JavaScript","https://www.wikidata.org/wiki/Q2005","https://g.co/kg/m/02p97"]},"arduino","Computer forensics",{"@type":"Thing","name":"Computer forensics","sameAs":["https://en.wikipedia.org/wiki/Computer_forensics","https://www.wikidata.org/wiki/Q878553","https://g.co/kg/m/02wxbd"]},"White hat",{"@type":"Thing","name":"White hat","sameAs":["https://en.wikipedia.org/wiki/White_hat_(computer_security)","https://www.wikidata.org/wiki/Q7995625","https://g.co/kg/m/03ns_5"]},"Search engine optimization",{"@type":"Thing","name":"Search engine optimization","sameAs":["https://en.wikipedia.org/wiki/Search_engine_optimization","https://www.wikidata.org/wiki/Q180711","https://g.co/kg/m/019qb_"]},"Search engine marketing",{"@type":"Thing","name":"Search engine marketing","sameAs":["https://en.wikipedia.org/wiki/Search_engine_marketing","https://www.wikidata.org/wiki/Q846132","https://g.co/kg/m/06mw8r"]},"Digital marketing",{"@type":"Thing","name":"Digital marketing","sameAs":["https://en.wikipedia.org/wiki/Digital_marketing","https://www.wikidata.org/wiki/Q1323528","https://g.co/kg/g/122hcnps"]},"Web hosting service",{"@type":"Thing","name":"Web hosting service","sameAs":["https://en.wikipedia.org/wiki/Web_hosting_service","https://www.wikidata.org/wiki/Q5892272","https://g.co/kg/m/014pz4"]},"Email hosting service",{"@type":"Thing","name":"Email hosting service","sameAs":["https://en.wikipedia.org/wiki/Email_hosting_service","https://www.wikidata.org/wiki/Q5368818","https://g.co/kg/m/09w60m"]},"Internet hosting service",{"@type":"Thing","name":"Internet hosting service","sameAs":["https://en.wikipedia.org/wiki/Internet_hosting_service","https://www.wikidata.org/wiki/Q1210425","https://g.co/kg/m/09w5yw"]},"Virtual hosting",{"@type":"Thing","name":"Virtual hosting","sameAs":["https://en.wikipedia.org/wiki/Virtual_hosting","https://www.wikidata.org/wiki/Q588365","https://g.co/kg/m/024mvh"]},"Web performance",{"@type":"Thing","name":"Web performance","sameAs":["https://en.wikipedia.org/wiki/Web_performance","https://www.wikidata.org/wiki/Q7978612","https://g.co/kg/m/0gfj3f1"]},"Web content management system",{"@type":"Thing","name":"Web content management system","sameAs":["https://en.wikipedia.org/wiki/Web_content_management_system","https://www.wikidata.org/wiki/Q45211","https://g.co/kg/m/0615s2"]},"Content management system",{"@type":"Thing","name":"Content management system","sameAs":["https://en.wikipedia.org/wiki/Content_management_system","https://www.wikidata.org/wiki/Q131093","https://g.co/kg/m/0k23c"]},"General Data Protection Regulation",{"@type":"Thing","name":"General Data Protection Regulation","sameAs":["https://en.wikipedia.org/wiki/General_Data_Protection_Regulation","https://www.wikidata.org/wiki/Q1172506","https://g.co/kg/m/0pk_7xs"]},"SERP",{"@type":"Thing","name":"SERP","sameAs":["https://en.wikipedia.org/wiki/SERP","https://www.wikidata.org/wiki/Q2205811","https://g.co/kg/g/11c5szp7kc"]},"Artificial intelligence",{"@type":"Thing","name":"Artificial intelligence","sameAs":["https://en.wikipedia.org/wiki/Artificial_intelligence","https://www.wikidata.org/wiki/Q11660","https://g.co/kg/m/0mkz"]},"Prompt engineering",{"@type":"Thing","name":"Prompt engineering","sameAs":["https://en.wikipedia.org/wiki/Prompt_engineering","https://www.wikidata.org/wiki/Q108941486","https://g.co/kg/g/11p6kpgt_n"]},"E-learning",{"@type":"Thing","name":"E-learning","sameAs":["https://en.wikipedia.org/wiki/E-learning_(theory)","https://www.wikidata.org/wiki/Q182250","https://g.co/kg/g/122czm1f"]},"Sharable Content Object Reference Model",{"@type":"Thing","name":"Sharable Content Object Reference Model","sameAs":["https://en.wikipedia.org/wiki/Sharable_Content_Object_Reference_Model","https://www.wikidata.org/wiki/Q827811","https://g.co/kg/m/06_40"]},"Experience API",{"@type":"Thing","name":"Experience API","sameAs":["https://en.wikipedia.org/wiki/Experience_API","https://www.wikidata.org/wiki/Q7807728","https://g.co/kg/g/1yw9ktxr8"]},"Joomla",{"@type":"Thing","name":"Joomla","sameAs":["https://en.wikipedia.org/wiki/Joomla","https://www.wikidata.org/wiki/Q13167","https://g.co/kg/m/07qb81"]},"Nginx",{"@type":"Thing","name":"Nginx","sameAs":["https://en.wikipedia.org/wiki/Nginx","https://www.wikidata.org/wiki/Q306144","https://g.co/kg/m/02qft91"]},"MySQL",{"@type":"Thing","name":"MySQL","sameAs":["https://en.wikipedia.org/wiki/MySQL","https://www.wikidata.org/wiki/Q850","https://g.co/kg/m/04y3k"]}],"areaServed":["United States",{"@type":"Country","name":"United States","sameAs":["https://en.wikipedia.org/wiki/United_States","https://www.wikidata.org/wiki/Q30","https://g.co/kg/m/09c7w0"]},"European Union",{"@type":"AdministrativeArea","name":"European Union","sameAs":["https://en.wikipedia.org/wiki/European_Union","https://www.wikidata.org/wiki/Q458","https://g.co/kg/m/0_6t_z8"]},"United Kingdom",{"@type":"Country","name":"United Kingdom","sameAs":["https://en.wikipedia.org/wiki/United_Kingdom","https://www.wikidata.org/wiki/Q145","https://g.co/kg/m/07ssc"]},"Australia",{"@type":"Country","name":"Australia","sameAs":["https://en.wikipedia.org/wiki/Australia","https://www.wikidata.org/wiki/Q408","https://g.co/kg/m/0chghy"]},"Canada",{"@type":"Country","name":"Canada","sameAs":["https://en.wikipedia.org/wiki/Canada","https://www.wikidata.org/wiki/Q16","https://g.co/kg/m/0d060g"]},"Russia",{"@type":"Country","name":"Russia","sameAs":["https://en.wikipedia.org/wiki/Russia","https://www.wikidata.org/wiki/Q159","https://g.co/kg/m/06bnz"]},"China",{"@type":"Country","name":"China","sameAs":["https://en.wikipedia.org/wiki/China","https://www.wikidata.org/wiki/Q148","https://g.co/kg/m/0d05w3"]}],"memberOf":["Mensa International",{"@type":"Organization","name":"Mensa International","sameAs":["https://en.wikipedia.org/wiki/Mensa_International","https://www.wikidata.org/wiki/Q184194","https://g.co/kg/m/0140pf"]},"National Rifle Association",{"@type":"Organization","name":"National Rifle Association","sameAs":["https://en.wikipedia.org/wiki/National_Rifle_Association","https://www.wikidata.org/wiki/Q863259","https://g.co/kg/m/0j6f9"]},"CompTIA",{"@type":"Organization","name":"CompTIA","sameAs":["https://en.wikipedia.org/wiki/CompTIA","https://www.wikidata.org/wiki/Q597534","https://g.co/kg/m/040shq"]},"ISFCE LLC",{"@type":"Organization","name":"ISFCE LLC","sameAs":["https://isfce.com","https://g.co/kg/g/11wxm5r0rg"]}],"hasCredential":[{"@type":"EducationalOccupationalCredential","name":"Joomla 3 Certified Administrator","credentialCategory":"Certification","description":"Administrator Exam is the first available Joomla! certification exam","recognizedBy":{"@type":"Organization","name":"Open Source Matters, Inc.","sameAs":["https://en.wikipedia.org/wiki/Open_Source_Matters,_Inc.","https://g.co/kg/g/11f00wvjhz"]},"url":"https://certification.joomla.org/certified-user-directory/michael-richey","about":["Content management system",{"@type":"Thing","name":"Content management system","sameAs":["https://en.wikipedia.org/wiki/Content_management_system","https://www.wikidata.org/wiki/Q131093","https://g.co/kg/m/0k23c"]},"Web content management system",{"@type":"Thing","name":"Web content management system","sameAs":["https://en.wikipedia.org/wiki/Web_content_management_system","https://www.wikidata.org/wiki/Q45211","https://g.co/kg/m/0615s2"]},"Joomla",{"@type":"Thing","name":"Joomla","sameAs":["https://en.wikipedia.org/wiki/Joomla","https://www.wikidata.org/wiki/Q13167","https://g.co/kg/m/07qb81"]}],"educationalLevel":"expert","image":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/contact/badge.webp","contentUrl":"https://www.richeyweb.com/images/contact/badge.webp","width":{"@type":"QuantitativeValue","value":300,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":86,"unitCode":"PX"},"caption":"Joomla 3 Certified Administrator"}},{"@type":"EducationalOccupationalCredential","name":"Certified Computer Examiner","credentialCategory":"Certification","description":"Internationally recognized computer forensics certifiecation","recognizedBy":{"@type":"Organization","name":"ISFCE LLC","sameAs":["https://en.wikipedia.org/wiki/ISFCE_LLC","https://g.co/kg/g/11wxm5r0rg"]},"url":"https://isfce.com/","about":["Digital forensics",{"@type":"Thing","name":"Digital forensics","sameAs":["https://en.wikipedia.org/wiki/Digital_forensics","https://www.wikidata.org/wiki/Q3246940","https://g.co/kg/m/0cnxzfx"]},"Computer forensics",{"@type":"Thing","name":"Computer forensics","sameAs":["https://en.wikipedia.org/wiki/Computer_forensics","https://www.wikidata.org/wiki/Q878553","https://g.co/kg/m/02wxbd"]},"Mobile device forensics",{"@type":"Thing","name":"Mobile device forensics","sameAs":["https://en.wikipedia.org/wiki/Mobile_device_forensics","https://www.wikidata.org/wiki/Q6887097","https://g.co/kg/m/06zp3tp"]},"Network forensics",{"@type":"Thing","name":"Network forensics","sameAs":["https://en.wikipedia.org/wiki/Network_forensics","https://www.wikidata.org/wiki/Q7001032","https://g.co/kg/m/05pb280"]},"Database forensics",{"@type":"Thing","name":"Database forensics","sameAs":["https://en.wikipedia.org/wiki/Database_forensics","https://www.wikidata.org/wiki/Q5227405","https://g.co/kg/m/0cgqsy"]}],"educationalLevel":"expert","image":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/contact/isfce-cce.webp","contentUrl":"https://www.richeyweb.com/images/contact/isfce-cce.webp","width":{"@type":"QuantitativeValue","value":150,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":150,"unitCode":"PX"},"caption":"Certified Computer Examiner"}}],"hasOfferCatalog":{"@type":"OfferCatalog","name":"Web Services","itemListElement":[{"@type":"Offer","itemOffered":{"@type":"Service","name":"Hosting"}},{"@type":"Offer","itemOffered":{"@type":"Service","name":"Development"}},{"@type":"Offer","itemOffered":{"@type":"Service","name":"Search Engine Optimization"}}]}},{"@type":"WebSite","@id":"https://www.richeyweb.com/#website","url":"https://www.richeyweb.com/","name":"RicheyWeb","publisher":{"@id":"https://www.richeyweb.com/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://www.richeyweb.com/search?q={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string","valueMaxLength":256,"valueMinLength":2,"valuePattern":"^[A-Za-z0-9\\s]+$"}},"creator":{"@id":"https://www.richeyweb.com/#organization"},"copyrightHolder":{"@id":"https://www.richeyweb.com/#organization"}},{"@type":"WebPage","@id":"https://www.richeyweb.com/software/documentation/system-ai-meta-documentation#webpage","url":"https://www.richeyweb.com/software/documentation/system-ai-meta-documentation","name":"System - AI Meta Documentation","description":"System - AI Meta Documentation: A Joomla plugin for AI-powered SEO. Generate meta descriptions & keywords with Ollama & OpenAI compatible endpoints.","isPartOf":{"@id":"https://www.richeyweb.com/#website"},"about":{"@id":"https://www.richeyweb.com/#organization"},"inLanguage":"en-GB"},{"@type":"Article","headline":"System - AI Meta Documentation","description":"System - AI Meta Documentation: A Joomla plugin for AI-powered SEO. Generate meta descriptions & keywords with Ollama & OpenAI compatible endpoints.","author":{"@type":"Person","name":"Michael Richey","url":"https://www.richeyweb.com/contact-us","@id":"https://www.richeyweb.com/contact-us#person"},"datePublished":"2025-10-22T00:00:00+00:00","dateModified":"2025-11-24T00:00:00+00:00","about":["Joomla",{"@type":"Thing","name":"Joomla","sameAs":["https://en.wikipedia.org/wiki/Joomla","https://www.wikidata.org/wiki/Q13167","https://g.co/kg/m/07qb81"]},"Search engine optimization",{"@type":"Thing","name":"Search engine optimization","sameAs":["https://en.wikipedia.org/wiki/Search_engine_optimization","https://www.wikidata.org/wiki/Q180711","https://g.co/kg/m/019qb_"]},"Artificial intelligence",{"@type":"Thing","name":"Artificial intelligence","sameAs":["https://en.wikipedia.org/wiki/Artificial_intelligence","https://www.wikidata.org/wiki/Q11660","https://g.co/kg/m/0mkz"]},{"@type":"Thing","@id":"https://www.richeyweb.com/software/joomla/plugins/system-ai-meta/#softwareapplication","name":"System - AI Meta","sameAs":["https://extensions.joomla.org/extension/site-management/seo-a-metadata/system-ai-meta/"]},"System - AI Meta"],"mentions":["Ollama (AI service)","OpenAI",{"@type":"Corporation","name":"OpenAI","sameAs":["https://en.wikipedia.org/wiki/OpenAI","https://www.wikidata.org/wiki/Q21708200","https://g.co/kg/g/11bxc656v6"]},"PHP",{"@type":"Thing","name":"PHP","sameAs":["https://en.wikipedia.org/wiki/PHP","https://www.wikidata.org/wiki/Q59","https://g.co/kg/m/060kv"]},"cURL",{"@type":"Thing","name":"cURL","sameAs":["https://en.wikipedia.org/wiki/CURL","https://www.wikidata.org/wiki/Q286306","https://g.co/kg/m/02kxj5"]},"Meta element",{"@type":"Thing","name":"Meta element","sameAs":["https://en.wikipedia.org/wiki/Meta_element","https://www.wikidata.org/wiki/Q251684","https://g.co/kg/m/0553b"]}],"@id":"https://www.richeyweb.com/software/documentation/system-ai-meta-documentation#article","isPartOf":{"@id":"https://www.richeyweb.com/software/documentation/system-ai-meta-documentation#webpage"},"publisher":{"@id":"https://www.richeyweb.com/#organization"},"keywords":"System - AI Meta, Joomla plugin, SEO-friendly meta descriptions, keywords, AI services, Ollama, OpenAI, API, meta content, search engine optimization, installation, configuration, plugin manager, connection, connection instances, connection name, connection type, connection URL, API key, meta descriptions, model, temperature, knowledge files, prompt, role, content, meta keywords, leading/trailing commas, periods, usage, content editing interface, AI Generate button, Regenerate button, article text, custom fields, dynamic prompts, placeholders, title, article, jform_field_id, regeneration, content, features, flexible AI model usage, customizable output, user-friendly interface, context support, caching, security, authorized users, core.admin permission, Joomla’s CSRF token, technical details, supported contexts, events, JavaScript, PHP classes, XML forms, caching system, dependencies, AardaGn\\Ollama library, troubleshooting, no models loaded, generation fails, invalid output, performance issues, security considerations, user authorization, API key storage, session validation","articleSection":"Documentation","url":"https://www.richeyweb.com/software/documentation/system-ai-meta-documentation","hasPart":[{"@id":"https://www.richeyweb.com/software/documentation/system-ai-meta-documentation#articleindex-toc-installation_2_1"},{"@id":"https://www.richeyweb.com/software/documentation/system-ai-meta-documentation#articleindex-toc-requirements_2_2"},{"@id":"https://www.richeyweb.com/software/documentation/system-ai-meta-documentation#articleindex-toc-configuration_2_3"},{"@id":"https://www.richeyweb.com/software/documentation/system-ai-meta-documentation#articleindex-toc-usage_2_4"},{"@id":"https://www.richeyweb.com/software/documentation/system-ai-meta-documentation#articleindex-toc-features_2_5"},{"@id":"https://www.richeyweb.com/software/documentation/system-ai-meta-documentation#articleindex-toc-technical-details_2_6"},{"@id":"https://www.richeyweb.com/software/documentation/system-ai-meta-documentation#articleindex-toc-troubleshooting_2_7"},{"@id":"https://www.richeyweb.com/software/documentation/system-ai-meta-documentation#articleindex-toc-security-considerations_2_8"}]},{"@id":"https://www.richeyweb.com/software/documentation/system-ai-meta-documentation#articleindex","@type":"ItemList","name":"System - AI Meta Documentation","numberOfItems":8,"itemListElement":[{"@type":"ListItem","position":1,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/system-ai-meta-documentation#articleindex-toc-installation_2_1","name":"Installation","url":"https://www.richeyweb.com/software/documentation/system-ai-meta-documentation#toc-installation_2_1"}},{"@type":"ListItem","position":2,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/system-ai-meta-documentation#articleindex-toc-requirements_2_2","name":"Requirements","url":"https://www.richeyweb.com/software/documentation/system-ai-meta-documentation#toc-requirements_2_2"}},{"@type":"ListItem","position":3,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/system-ai-meta-documentation#articleindex-toc-configuration_2_3","name":"Configuration","url":"https://www.richeyweb.com/software/documentation/system-ai-meta-documentation#toc-configuration_2_3"}},{"@type":"ListItem","position":4,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/system-ai-meta-documentation#articleindex-toc-usage_2_4","name":"Usage","url":"https://www.richeyweb.com/software/documentation/system-ai-meta-documentation#toc-usage_2_4"}},{"@type":"ListItem","position":5,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/system-ai-meta-documentation#articleindex-toc-features_2_5","name":"Features","url":"https://www.richeyweb.com/software/documentation/system-ai-meta-documentation#toc-features_2_5"}},{"@type":"ListItem","position":6,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/system-ai-meta-documentation#articleindex-toc-technical-details_2_6","name":"Technical Details","url":"https://www.richeyweb.com/software/documentation/system-ai-meta-documentation#toc-technical-details_2_6"}},{"@type":"ListItem","position":7,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/system-ai-meta-documentation#articleindex-toc-troubleshooting_2_7","name":"Troubleshooting","url":"https://www.richeyweb.com/software/documentation/system-ai-meta-documentation#toc-troubleshooting_2_7"}},{"@type":"ListItem","position":8,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/system-ai-meta-documentation#articleindex-toc-security-considerations_2_8","name":"Security Considerations","url":"https://www.richeyweb.com/software/documentation/system-ai-meta-documentation#toc-security-considerations_2_8"}}]}]}
```
