 #  System - X Autopost Documentation 

 

- Extension Page: [System - X Autopost](/software/joomla/plugins/system-x-autopost)

## Overview

The System - X Autopost plugin for Joomla is a powerful tool designed to enhance the social media presence of Joomla websites by automating the generation of Twitter/X Cards and posting content to X/Twitter. This plugin seamlessly integrates with Joomla’s content management system, enabling site administrators to share articles (com\_content) and contact profiles (com\_contact) with rich, customizable previews that improve engagement on X/Twitter. As of October 10, 2025, the plugin supports a range of Twitter/X Card types, including Summary, Summary Large Image, App, and Player, with advanced configuration options for metadata and media embedding.

### Overview of Purpose and Capabilities

The primary purpose of the System - X Autopost plugin is to streamline social media integration for Joomla websites. Its key capabilities include:

- **Twitter/X Card Generation:** Creates rich metadata previews (Twitter/X Cards) for shared links, supporting Summary, Summary Large Image, App, and Player card types.
- **Automated Posting:** Automatically posts Joomla content to X/Twitter when articles or contacts are created or updated, using Twitter API credentials.
- **Flexible Configuration:** Offers global defaults and per-content-item overrides for tweet content and card metadata, configurable via Joomla’s admin interface.
- **Context-Specific Metadata:** Tailors metadata for articles and contacts, pulling from fields like titles, descriptions, images, or custom inputs.
- **Media Embedding:** Provides video and audio templates for Player cards, with support for self-hosted streams and customizable output.
- **Category Filtering:** Allows inclusion or exclusion of specific categories for autoposting, supporting fine-grained control over content sharing.
- **Caching:** Optimizes performance by caching Twitter/X Card data, leveraging Joomla’s cache system.
- **Extensibility:** Modular design with support for additional Joomla components and custom metadata logic.
 
### Key Benefits

- **Enhanced Social Media Engagement:** Twitter/X Cards provide visually appealing previews, increasing click-through rates and user interaction on X/Twitter.
- **SEO Optimization:** Structured metadata improves how content is indexed and displayed on social platforms, potentially boosting search engine visibility.
- **Time-Saving Automation:** Eliminates manual posting by automatically sharing new or updated content to X/Twitter.
- **Customizable Previews:** Offers granular control over tweet text and card metadata, ensuring brand consistency and tailored messaging.
- **Performance Efficiency:** Caching reduces server load and speeds up metadata generation for high-traffic sites.
- **User-Friendly Interface**: Leverages Joomla’s familiar admin interface for easy configuration, even for non-technical users.
 
## Tweet Text Length and Truncation

The **System - X Autopost** plugin enforces a maximum tweet length of 280 characters to ensure proper display of Twitter/X Card previews. Tweets are constructed from the content’s title, description, and/or custom text, along with a URL linking to the content. If the combined text exceeds 280 characters, the URL may be pushed past X/Twitter’s "Read more" link, preventing the Twitter/X Card preview from displaying. To avoid this, the plugin removes newlines, extra spaces, and trims text to fit within the 280-character limit, prioritizing content clarity and card visibility. The optional **Ellipsis** feature adds "..." to truncated text, visually indicating that content was shortened. This enhances user experience by signaling that additional content is available on the linked page. Enable the Ellipsis feature in the plugin’s configuration to improve tweet readability.

The plugin will never cut a word in half, truncation always occurs at a word boundary.

## System Requirements

To ensure the **System - X Autopost** plugin functions correctly on your Joomla website, the following system requirements must be met. These requirements align with the plugin’s dependencies and the Joomla ecosystem as of October 10, 2025.

### Joomla Version Compatibility

- **Supported Versions**: Joomla 4.x or 5.x
 
### Twitter/X Developer Account for API

- **Requirement**: A Twitter/X Developer Account with valid API credentials is required for autoposting functionality.
- **Credentials Needed**: 
    - Consumer Key
    - Consumer Secret
    - Access Token
    - Access Token Secret
- **Setup Process**: 
    - Detailed in [X API Setup Walkthrough for System - X Autopost](/software/documentation/x-api-setup-walkthrough-for-system-x-autopost)
- **Notes**: 
    - Autoposting is optional and can be disabled by leaving the credential fields empty.
    - Twitter/X Card generation (metadata for link previews) does not require API credentials and works independently.
 
### Optional Caching Setup

- **Caching**: Joomla’s caching system is recommended for performance optimization. 
    - The plugin supports caching of Twitter/X Card data to reduce database queries and improve page load times.
    - Cache settings use Joomla’s global cache configuration (default group: **plg\_system\_xautopost**, lifetime based on Joomla’s cache time setting).
- **Requirements**: 
    - Joomla caching must be enabled (via Global Configuration &gt; System &gt; Cache Settings).
- **Notes**: Caching is optional but highly recommended for high-traffic sites to minimize server load during metadata generation.
 
## Installation

This section provides a step-by-step guide to installing the **System - X Autopost** plugin on your Joomla website. The process involves downloading the plugin, installing it via the Joomla Extension Manager, and verifying that it is properly installed and enabled. These instructions are accurate as of October 10, 2025.

### Downloading the Plugin

1. **Obtain the Plugin Package**: 
    - Visit the official source for the [System - X Autopost](/software/joomla/plugins/system-x-autopost) plugin, available at https://www.richeyweb.com.
    - Download the plugin package, which should be a ZIP file named **plg\_system\_xautopost-v\*.zip** or similar.
2. **Verify the Package**: 
    - Ensure the downloaded file is compatible with your Joomla version (4.x or 5.x).
    - Check the file integrity (e.g., using a checksum if provided by the source) to confirm it is not corrupted.
 
### Installing via Joomla Extension Manager

1. **Access the Joomla Admin Panel**: 
    - Log in to your Joomla website’s administrator backend (e.g., **yourwebsite.com/administrator**).
2. **Navigate to the Extension Manager**: 
    - Go to **System** &gt; **Install** &gt; **Extensions** in the Joomla admin menu.
3. **Upload the Plugin Package**: 
    - In the **Upload Package File** tab, click **Choose File** (or equivalent) and select the **plg\_system\_xautopost-v\*.zip** file from your computer.
    - Click **Upload &amp; Install** to begin the installation process.
4. **Confirm Installation**: 
    - Upon successful installation, Joomla will display a confirmation message indicating that the plugin has been installed.
    - If errors occur, ensure the ZIP file is valid, your server meets the system requirements, and you have sufficient permissions.
 
### Verifying Installation and Enabling the Plugin

1. **Check Plugin Installation**: 
    - Navigate to **System** &gt; **Manage** &gt; **Plugins** in the Joomla admin panel.
    - Search for “System - X Autopost” in the plugin list.
    - Confirm that the plugin appears with the type “System” and the name “System - X Autopost.”
2. **Enable the Plugin**: 
    - If the plugin is not already enabled, locate “System - X Autopost” in the plugin list.
    - Click the status icon (red circle with an “X” for disabled) to enable it. A green checkmark indicates the plugin is active.
3. **Initial Configuration Check**: 
    - Go to **System** &gt; **Manage** &gt; **Plugins**, then click on “System - X Autopost” to access its configuration.
    - Ensure the plugin’s settings tabs (e.g., Credentials, Tweet Defaults, Card Defaults, Coverage) are visible and accessible.
    - Optionally, configure Twitter/X API credentials and other settings (see Section 4 for API setup and Section 5 for global configuration).
 
## API Setup

The **System - X Autopost** plugin requires Twitter/X API credentials to enable automatic posting of Joomla content (articles and contacts) to X/Twitter. This section outlines how to obtain these credentials, configure them in the plugin’s admin interface, and disable autoposting if needed. These instructions are accurate as of October 10, 2025.

### Obtaining Twitter/X API Credentials

To enable autoposting, you must acquire the following credentials from the Twitter/X Developer Portal: **Consumer Key**, **Consumer Secret**, **Access Token**, and **Access Token Secret**. Follow the steps detailed in [X API Setup Walkthrough for System - X Autopost](/software/documentation/x-api-setup-walkthrough-for-system-x-autopost).

### Configuring Credentials in the Plugin’s Admin Interface

Once you have the API credentials, configure them in the Joomla admin interface to enable autoposting:

1. **Access the Plugin Settings**: 
    - Log in to your Joomla administrator backend (e.g., **yourwebsite.com/administrator**).
    - Navigate to **System** &gt; **Manage** &gt; **Plugins**.
    - Search for and click on “System - X Autopost” to open its configuration.
2. **Enter API Credentials**: 
    - Locate the **Credentials** tab in the plugin’s configuration.
    - Enter the following fields: 
        - **Consumer Key**: Paste the Consumer Key from the Twitter/X Developer Portal.
        - **Consumer Secret**: Paste the Consumer Secret.
        - **Access Token**: Paste the Access Token.
        - **Access Token Secret**: Paste the Access Token Secret.
    - These fields correspond to the settings defined in the plugin’s language file (**plg\_system\_xautopost.ini**).
3. **Save and Test**: 
    - Click **Save** or **Save &amp; Close** to store the credentials.
    - To verify the setup, create or update a test article in a category that is enabled in Coverage or contact and check if it autoposts to your X/Twitter account.
 
### Disabling Autoposting by Removing Credentials

If you wish to disable autoposting while still using Twitter/X Card generation for link previews:

1. **Clear Credential Fields**: 
    - Return to the **Credentials** tab in the plugin’s configuration (System &gt; Manage &gt; Plugins &gt; System - X Autopost).
    - Remove the values from the **Consumer Key**, **Consumer Secret**, **Access Token**, and **Access Token Secret** fields.
    - Alternatively, set these fields to empty strings.
2. **Save Changes**: 
    - Click **Save** or **Save &amp; Close** to apply the changes.
    - The plugin will no longer attempt to autopost content to X/Twitter, but Twitter/X Card metadata generation will continue to function for link previews.
3. **Notes**: 
    - Disabling autoposting does not affect existing Twitter/X Card configurations stored in the database.
    - You can re-enable autoposting at any time by re-entering valid API credentials.
 
### Notes

- **Security**: Store API credentials securely and avoid sharing them publicly. Treat them like passwords, as they grant access to your X/Twitter account.
- **API Limits**: Be aware of Twitter/X API rate limits, which may affect autoposting frequency on high-traffic sites. Check the Developer Portal for current limits.
- **Troubleshooting**: If autoposting fails, verify credential accuracy, app permissions, and network connectivity.
 
## Global Configuration

The **System - X Autopost** plugin provides a robust set of global configuration options to control how Twitter/X Cards are generated and how content is autoposted to X/Twitter. These settings, accessible through the Joomla admin interface, define default behaviors for coverage, tweet content, and card metadata. They can be overridden on a per-content-item basis (see Section 6). This section details the configuration options for **Coverage Settings**, **Tweet Defaults**, and **Card Defaults**, accurate as of October 10, 2025.

### Coverage Settings

Coverage settings determine which Joomla components and categories are included in or excluded from autoposting and Twitter/X Card generation.

#### Selecting Components

- **Purpose**: Specifies which Joomla components the plugin processes for autoposting and card generation.
- **Configuration**: 
    - Navigate to **System** &gt; **Manage** &gt; **Plugins** &gt; **System - X Autopost** in the Joomla admin panel.
    - In the **Coverage** tab (defined in **coverage.xml**), select a component from the **Component** dropdown.
    - **Options**: 
        - **com\_content**: Joomla articles.
        - **com\_contact**: Joomla contact profiles.
        - Additional components like **com\_newsfeeds**, **com\_weblinks**, and **com\_tags** are planned for future support.
    - **Default**: Must select at least one component (required field).
- **Notes**: 
    - Only selected components will trigger autoposting or card generation.
    - Ensure the selected components are active on your Joomla site.
 
#### Including/Excluding Categories

- **Purpose**: Filters content within selected components by category, allowing inclusion or exclusion of specific categories.
- **Configuration**: 
    - In the **Coverage** tab, use the **Exclude Categories** radio button to choose: 
        - **No** (default): Selected categories are included for autoposting.
        - **Yes**: Selected categories are excluded from autoposting.
    - Select categories for each component (e.g., **com\_content\_category**, **com\_contact\_category**) using the multi-select category fields. 
        - These fields use Joomla’s category picker with a fancy-select layout.
        - If no categories are selected, all categories for the component are included by default.
- **Notes**: 
    - Use this to target specific content (e.g., only blog articles) or exclude unwanted content (e.g., private categories).
    - Category settings apply to only autoposting, not Twitter/X Card generation.
 
### Tweet Defaults

Tweet defaults control the default content and structure of tweets posted to X/Twitter when new or updated content is saved.

#### Configuring Default Tweet Options

- **Purpose**: Determines whether the title and description are included in autoposted tweets by default.
- **Configuration**: 
    - In the **Tweet Defaults** tab, configure: 
        - **Show Title**: 
            - **Yes** (default): Includes the content’s title (e.g., article title, contact name) in the tweet.
            - **No**: Excludes the title.
        - **Show Description**: 
            - **Yes** (default): Includes a description (e.g., article meta description, contact miscellaneous text) in the tweet.
            - **No**: Excludes the description.
    - **Default Behavior**: 
        - Titles and descriptions are trimmed to fit within X/Twitter’s 280-character limit (handled by **compressTrimText** in **XMeta.php**).
        - Descriptions are sourced based on the component (e.g., article meta description for **com\_content**, miscellaneous text for **com\_contact**).
- **Notes**: 
    - These settings can be overridden per content item (see Section 6).
    - Enabling both title and description maximizes tweet content but may require truncation.
 
### Card Defaults

Card defaults define the default Twitter/X Card type and metadata for content, ensuring consistent link previews on X/Twitter.

#### Setting Default Card Type

- **Purpose**: Specifies the default Twitter/X Card type used when no per-item override is set.
- **Configuration**: 
    - In the **Card Defaults** tab (defined in **carddefaults.xml**), select a **Card Type** from the dropdown: 
        - **Summary**: Displays a title, description, and small thumbnail.
        - **Summary Large Image** (default): Similar to Summary but with a larger image.
        - **App**: Promotes mobile apps with app store details.
        - **Player**: Embeds playable media (video/audio).
    - **Default**: **summary\_large\_image**.
- **Notes**: 
    - For **com\_contact**, only **summary** and **summary\_large\_image** are supported.
    - The **player** type supports a custom modification where a self-hosted player is activated if the **player** field is empty but the **stream** field contains a local file.
 
#### Configuring Default Metadata

- **Purpose**: Sets default values for Twitter/X Card metadata fields, used when no per-item overrides are provided.
- **Configuration**: 
    - In the **Card Defaults** tab, configure the following fields: 
        - **Site**: 
            - Twitter/X handle (e.g., **@yourtwitterhandle**) for the site’s account.
        - **Site ID**: 
            - Numeric Twitter/X ID for the site’s account (e.g., **123456789**).
        - **Creator**: 
            - Twitter/X handle for the content’s creator (e.g., **@authorhandle**).
        - **Creator ID**: 
            - Numeric Twitter/X ID for the creator.
        - **Description Option**: 
            - **Meta** (default): Uses the content’s meta description.
            - **Text**: Uses article intro/full text or contact miscellaneous text.
            - Limited to 280 characters.
        - **Title Option**: 
            - **Title** (default, fixed): Uses the content’s title (e.g., article title, contact name).
            - Limited to 70 characters.
        - **Image Option**: 
            - **Intro**: Uses the article’s intro image.
            - **Full**: Uses the article’s full-text image.
            - **Any** (default): Prefers full-text, then intro, then article body images.
            - For contacts, maps **intro**/**full** to **any** (uses contact’s image field).
        - **Image Alt Option**: 
            - **Title** (default): Uses the content’s title.
            - **Intro**: Uses article intro text.
            - **Full**: Uses article full text.
            - Limited to 420 characters.
        - **App Country**: 
            - 2-letter ISO 3166-1 alpha-2 code (e.g., **US**).
            - Default: **US**.
        - **Player Width**: 
            - Default: 640 pixels.
            - Minimum: 1.
        - **Player Height**: 
            - Default: 360 pixels.
            - Minimum: 1.
- **Notes**: 
    - Metadata fields are validated (e.g., image formats: jpg, jpeg, png, gif, webp).
    - The plugin prepends the site’s base URL to relative image/stream paths.
 
#### Fallback Image and Player Dimensions

- **Fallback Image**: 
    - **Purpose**: Provides a default image when no content-specific image is available.
    - **Configuration**: 
        - In the **Card Defaults** tab, select an image using the **Fallback Image** media field (directory: **images**).
        - Supports jpg, jpeg, png, gif, and webp formats.
    - **Notes**: 
        - The fallback image is used for all card types when no other image is specified.
- **Player Dimensions**: 
    - **Purpose**: Defines default dimensions for Player card media (video/audio).
    - **Configuration**: 
        - **Player Width**: Numeric field, default 640 pixels.
        - **Player Height**: Numeric field, default 360 pixels.
    - **Notes**: 
        - Used for **player** card types, including self-hosted streams.
        - Dimensions are cast to integers to ensure XSS protection in meta content.
 
### Notes

- **Admin Interface**: All settings are configured via Joomla’s plugin interface, with conditional fields for relevant options.
- **Overrides**: Global defaults can be overridden per content item.
- **Performance**: Enable caching (Section 8) to optimize metadata generation for these settings.
- **Troubleshooting**: If cards or tweets do not render as expected, verify default settings.
 
## Per-Content-Item Customization

The **System - X Autopost** plugin allows for detailed customization of tweet content and Twitter/X Card metadata on a per-content-item basis, overriding global defaults. This ensures tailored autoposting and link previews for specific articles or contacts. This section covers overrides for articles and contacts, configuration options, the admin interface, and conditional fields, accurate as of October 10, 2025.

## Overriding Defaults for Articles (com\_content) and Contacts (com\_contact)

- **Purpose**: Per-item overrides enable unique tweet text and card metadata for individual content items, superseding global settings while falling back to defaults if not specified.
- **Supported Components**: 
    - **Articles (com\_content)**: Full overrides available, including all card types (Summary, Summary Large Image, App, Player).
    - **Contacts (com\_contact)**: Limited overrides; card types restricted to Summary and Summary Large Image. App and Player types are disabled in the interface.
 
## Configuring Custom Tweet Text and Card Metadata

- **Custom Tweet Text**: 
    - **Field**: custom\_tweet (textarea, max 280 characters).
    - **Behavior**: If provided, uses this text for the autoposted tweet instead of constructed title/description. Supports placeholders or manual formatting.
    - **Options**: 
        - For both articles and contacts: Enable/disable title (show\_title) and description (show\_description) inclusion.
        - Default: Inherits from global Tweet Defaults, but can be toggled per item (e.g., set to No for custom-only tweets).
- **Card Metadata**: 
    - **Card Type** (card\_type): 
        - Options: Default (uses global), Summary, Summary Large Image, App, Player (articles only).
        - For Player cards: Custom logic activates self-hosted streams if player is empty but player\_stream is a local file.
    - **Site and Creator Overrides**: 
        - site\_option and site\_id\_option: Default or Custom.
        - If Custom: Enter site (handle), site\_id (numeric ID), creator (handle), creator\_id (numeric ID).
    - **Description, Title, Image, and Alt Text**: 
        - description\_option: Default, Meta, Text, or Custom (description field).
        - title\_option: Default or Custom (title field).
        - image\_option: Default, Intro, Full, Any, or Custom (image field, media path).
        - image\_alt\_option: Default, Title, Intro, Full, or Custom (image\_alt field).
        - Character Limits: Description (280), Title (70), Image Alt (420) – trimmed via compressTrimText.
    - **App-Specific Fields** (App card type, articles only): 
        - app\_country (2-letter code, e.g., US).
        - iPhone/iPad/Google Play: Name, ID, URL (e.g., app\_name\_iphone, app\_id\_iphone).
    - **Player-Specific Fields** (Player card type, articles only): 
        - player (embeddable URL, e.g., YouTube).
        - player\_stream (stream URL or local file path).
        - player\_width and player\_height (integers, default to globals).
- **Submitted Status** (submitted): 
    - Yes/No: Marks if autoposting has occurred; set to Yes to prevent re-posting on updates. Alternatively, you can re-post a tweet by setting this field to No and saving the content or contact item.
 
## Using Joomla Admin Interface for Per-Item Settings

1. **Accessing Settings - the X Autopost tab**: 
    - For **Articles**: Edit an article in **Content** &gt; **Articles** &gt; Select article.
    - For **Contacts**: Edit a contact in **Components** &gt; **Contacts** &gt; Select contact.
2. **Tweet Fieldset**: 
    - Configure show\_title, show\_description, and custom\_tweet.
3. **Twitter Card Fieldset**:  
    
    - Set card type, overrides, and metadata fields.
4. **Saving Changes**: 
    - Click **Save** to store overrides.
    - On save, the plugin triggers autoposting if credentials are set and coverage matches.
 
## Notes

- **Fallbacks**: Unset fields use global defaults or content data (e.g., article images).
- **Validation**: Handled in PHP (e.g., URL filters, image extensions).
- **Troubleshooting**: If overrides don’t apply, clear cache.
 
## Special Features and Output Types

The **System - X Autopost** plugin includes advanced features and output types to enhance Twitter/X Card generation and media presentation for Joomla content. This section details the supported Twitter/X Card types, the custom self-hosted player logic, media output templates, video/audio template overrides, and metadata validation processes, accurate as of October 10, 2025.

### Twitter/X Card Types

The plugin supports four Twitter/X Card types, each designed for specific content presentation on X/Twitter. These are configured globally or per content item (see Sections 5 and 6) and defined in **XMeta.php**.

#### Summary

- **Description**: Displays a concise preview with a title, description, and small thumbnail image.
- **Metadata Fields** (from **XMeta.php**): 
    - **site**, **site\_id**: Twitter/X handle and ID for the site.
    - **description**: Short text (up to 280 characters).
    - **title**: Content title (up to 70 characters).
    - **image**: Thumbnail image URL.
    - **image\_alt**: Image alt text (up to 420 characters).
- **Use Case**: Ideal for general content sharing, such as blog posts or contact profiles.
- **Validation**: Requires **title**, **description**, and **image.**
 
#### Summary Large Image

- **Description**: Similar to Summary but prioritizes a larger, more prominent image for visual impact.
- **Metadata Fields**: 
    - All Summary fields plus **creator**, **creator\_id** (author’s Twitter/X handle and ID).
- **Use Case**: Best for visually rich content, like articles with high-quality images.
- **Validation**: Requires **title**, **description**, **image**, and either **site** or **creator.**
 
#### App

- **Description**: Promotes mobile apps with links to app stores (iPhone, iPad, Google Play).
- **Metadata Fields**: 
    - Summary fields plus: 
        - **app\_country**: 2-letter ISO 3166-1 code (e.g., **US**).
        - iPhone: **app\_name\_iphone**, **app\_id\_iphone**, **app\_url\_iphone**.
        - iPad: **app\_name\_ipad**, **app\_id\_ipad**, **app\_url\_ipad**.
        - Google Play: **app\_name\_googleplay**, **app\_id\_googleplay**, **app\_url\_googleplay**.
- **Use Case**: Suitable for promoting Joomla-related mobile apps.
- **Validation**: Requires app-specific fields for at least one platform.
- **Note**: Disabled for contacts (**com\_contact**).
 
#### Player

- **Description**: Embeds playable media (video or audio) with an interactive player.
- **Metadata Fields**: 
    - Summary fields plus: 
        - **player**: URL to an embeddable player (e.g., YouTube, Vimeo).
        - **player\_width**, **player\_height**: Player dimensions (default: 640x360).
        - **stream**: Optional stream URL or local file path for self-hosted media.
- **Use Case**: Ideal for sharing multimedia content, such as videos or podcasts.
- **Validation**: Requires **player** or **stream** for self-hosted media, plus valid dimensions.
- **Note**: Disabled for contacts in **twittercard.com\_contact.xml**.
 
### Self-Hosted Player Logic

- **Description**: A custom modification enables self-hosted media playback in Player cards when the **player** field is empty but the **stream** field contains a local file path.
- **Implementation** (from **XMeta\_com\_content.php** and recent modification): 
    - If **player** is empty and **player\_stream** is a valid local file (checked via **file\_exists** in **JPATH\_ROOT**), the plugin generates a self-hosted player.
    - The **stream** URL is converted to an absolute URL by prepending the site’s base URL (**getBaseUrl** in **XMeta.php**).
    - The plugin uses **video.php** or **audio.php** templates to render the media.
- **Use Case**: Enables hosting video or audio files directly on the Joomla server, avoiding reliance on third-party platforms like YouTube.
- **Configuration**: 
    - Set **player\_stream** to a local file path (e.g., **media/videos/sample.mp4**).
    - Ensure **player** is empty to trigger self-hosted logic.
    - Configure **player\_width** and **player\_height** for proper display.
- **Notes**: 
    - File paths must be accessible within Joomla’s **JPATH\_ROOT** directory.
    - player\_stream can be used with externally hosted player URLs, in this scenario the stream becomes a backup if there is a problem with the player URL.
 
### Media Output

The plugin includes templates for rendering media in Player cards, customizable for specific use cases.

#### Video Template (video.php)

- **Purpose**: Generates an HTML page with a **&lt;video&gt;** element for Player card media.
- **Structure**: 
    - Contains a **&lt;video controls&gt;** tag with a **&lt;source&gt;** element using **$url** (media URL) and **$mimetype** (e.g., **video/mp4**).
    - Includes a fallback **&lt;p&gt;** tag with **$translatedMessage** for browsers that don’t support the video.
    - Uses minimal HTML with UTF-8 charset and responsive viewport.
- **Use Case**: Displays self-hosted or external videos in Twitter/X Player cards.
- **Customization**: Create a template output override, detailed below.
 
#### Audio Template (audio.php)

- **Purpose**: Generates an HTML page with an **&lt;audio&gt;** element, styled with a background image.
- **Structure**: 
    - Contains an **&lt;audio controls&gt;** tag with a **&lt;source&gt;** element using **$url** and **$mimetype** (e.g., **audio/mpeg**).
    - Includes a fallback **&lt;p&gt;** tag with **$translatedMessage**.
    - CSS styles: 
        - Background image from **$background** variable (URL or path).
        - Full-screen, centered layout with **cover** sizing and black background fallback.
- **Use Case**: Plays audio files (e.g., podcasts) with a visually appealing background.
- **Customization**: Create a template output override, detailed below.
 
#### Video/Audio Template Output Overrides

- **Purpose**: Allows developers to customize the HTML/CSS output of **video.php** and **audio.php** for tailored media presentation.
- **Customization Options**: 
    - Modify PHP variables (**$url**, **$mimetype**, **$background**, **$translatedMessage**) to integrate dynamic data.
    - Adjust HTML structure (e.g., add controls, preload settings, or additional metadata).
    - Customize CSS in **audio.php** for background styling (e.g., change **background-size** or add animations).
    - Override templates by creating modified versions of plugins/system/xautopost/tmpl/audio.php (or video.php) in a Joomla template override directory (e.g., **templates/your\_template/html/plg\_system\_xautopost/**).
- **Use Case**: Tailor media players to match site branding or add advanced playback features.
- **Note**: Ensure modified templates maintain compatibility with Twitter/X Card requirements (e.g., valid MIME types).
 
### Metadata Validation

The plugin enforces strict validation to ensure Twitter/X Cards render correctly.

#### Image Format Validation

- **Supported Formats**: jpg, jpeg, png, gif, webp.
- **Process**: 
    - For articles: Validates images from **image\_intro**, **image\_fulltext**, or article body (**articleImage** method).
    - For contacts: Validates **image** field or fallback image.
    - Invalid images fall back to the global **fallback\_image** or return false.
- **Note**: Only absolute URLs or valid local paths (converted to URLs) are accepted.
 
#### Character Limits

- **Description**: 280 characters. 
    - Trims text to remove newlines, extra spaces, and enforce length.
- **Title**: 70 characters (**getTitle** methods). 
    - Uses content title or custom input, trimmed as needed.
- **Image Alt Text**: 420 characters (**getImage\_alt** methods). 
    - Sourced from title, intro/full text, or custom input, trimmed for compliance.
- **Implementation**: Ensure compliance with tweet limitations to ensure card previews are displayed.
 
## Caching and Performance

The **System - X Autopost** plugin includes caching functionality to optimize performance by reducing the overhead of generating Twitter/X Card metadata and querying the database. This section explains how to enable or disable caching, configure cache group and lifetime settings, and the impact of caching on metadata generation performance, accurate as of October 10, 2025.

### Enabling/Disabling Caching

- **Purpose**: Caching stores pre-generated Twitter/X Card metadata to minimize database queries and processing for frequently accessed content, improving page load times.
- **Configuration**: 
    - Navigate to **System** &gt; **Manage** &gt; **Plugins** &gt; **System - X Autopost** in the Joomla admin panel.
    - In the plugin’s configuration, locate the **Caching** setting. 
        - **Enable**: Select **Yes** to activate caching (default: enabled).
        - **Disable**: Select **No** to bypass caching, forcing real-time metadata generation for each request.
    - Save the configuration by clicking **Save** or **Save &amp; Close**.
- **Implementation**: 
    - When enabled, metadata is stored in the cache group **plg\_system\_xautopost** and retrieved for subsequent requests.
- **Notes**: 
    - Disabling caching is useful for debugging or ensuring real-time metadata updates but may degrade performance on high-traffic sites.
    - Ensure Joomla’s global caching is enabled (System &gt; Global Configuration &gt; System &gt; Cache Settings) for the plugin’s caching to function.
 
### Cache Group and Lifetime Settings

- **Cache Group**: 
    - **Default Group**: **plg\_system\_xautopost.**
    - **Purpose**: Isolates the plugin’s cache entries from other Joomla cache groups, preventing conflicts.
- **Cache Lifetime**: 
    - **Default Lifetime**: Inherits Joomla’s global cache time setting (default: 15 minutes, configurable in System &gt; Global Configuration &gt; System &gt; Cache Settings).
    - **Configuration**: 
        - To adjust the lifetime, modify Joomla’s global cache time in the admin panel.
- **Notes**: 
    - Longer cache lifetimes reduce database queries but may delay updates to metadata (e.g., after editing an article).
    - Clear the cache manually (System &gt; Clear Cache) after significant content changes if immediate updates are needed.
 
## Troubleshooting

The **System - X Autopost** plugin integrates with Joomla and X/Twitter to generate Twitter/X Cards and automate content posting. This section addresses common issues, provides guidance on debugging autoposting failures, and explains how to verify Twitter/X Card rendering, accurate as of October 10, 2025.

### Common Issues

Below are frequent issues users may encounter, along with their causes and solutions.

#### API Credential Errors

- **Symptoms**: 
    - Autoposting fails silently or logs errors in Joomla.
    - Tweets are not posted to X/Twitter despite content updates.
- **Causes**: 
    - Incorrect or missing Consumer Key, Consumer Secret, Access Token, or Access Token Secret in the plugin’s configuration.
    - Expired or revoked API credentials in the Twitter/X Developer Portal.
    - Insufficient app permissions (e.g., missing Read and Write access).
- **Solutions**: 
    - **Verify Credentials**: Navigate to **System** &gt; **Manage** &gt; **Plugins** &gt; **System - X Autopost** &gt; **Credentials** tab. Ensure all fields (Consumer Key, Consumer Secret, Access Token, Access Token Secret) match those in the Twitter/X Developer Portal (developers.x.com).
    - **Regenerate Credentials**: In the Developer Portal, go to your app’s **Keys and Tokens** tab and regenerate any missing or invalid credentials.
    - **Check Permissions**: Ensure the app has Read and Write permissions in the Developer Portal’s **Edit App** settings.
 
#### Caching Issues

- **Symptoms**: 
    - Outdated Twitter/X Card metadata is displayed on X/Twitter.
    - Changes to content or plugin settings (e.g., new images, descriptions) don’t reflect in previews.
- **Causes**: 
    - Cached metadata in the **plg\_system\_xautopost** cache group is not refreshed.
    - Joomla’s global cache settings have a long lifetime, delaying updates.
    - Cache not invalidated after content updates.
- **Solutions**: 
    - **Clear Cache**: Go to **System** &gt; **Clear Cache** in the Joomla admin panel, select the **plg\_system\_xautopost** group, and clear it.
    - **Adjust Cache Lifetime**: In **System** &gt; **Global Configuration** &gt; **System** &gt; **Cache Settings**, reduce the cache time (default: 15 minutes) for faster updates.
    - **Disable Caching Temporarily**: In the plugin’s configuration, set **Caching** to **No** to bypass caching during troubleshooting.
 
#### Other Common Issues

- **No Autoposting for Content**: 
    - **Cause**: Content may not match coverage settings (e.g., excluded categories or unsupported components).
    - **Solution**: Check **Coverage** settings to ensure the component (**com\_content**, **com\_contact**) and categories are included.
- **Invalid Images in Cards**: 
    - **Cause**: Images don’t meet Twitter/X requirements (jpg, jpeg, png, gif, webp) or are inaccessible.
    - **Solution**: Verify image paths in **image** or **fallback\_image** fields and ensure they are publicly accessible (Section 7).
- **Player Card Not Rendering**: 
    - **Cause**: Invalid **player** or **player\_stream** URLs, or self-hosted files not found in **JPATH\_ROOT**.
 
### Debugging Autoposting Failures

When autoposting fails you will see the error message provided by X displayed in the system message area. Follow these steps to diagnose the issue:

1. **Check Plugin Status**: 
    - Ensure the plugin is enabled (**System** &gt; **Manage** &gt; **Plugins** &gt; **System - X Autopost**).
    - Verify API credentials are entered correctly (see API Credential Errors above).
2. **Test Coverage Settings**: 
    - Confirm the content item falls within the configured components and categories (**Coverage** tab).
    - Test by temporarily setting **Exclude Categories** to **No** and selecting no categories to include all content.
 
### Verifying Twitter/X Card Rendering

To ensure Twitter/X Cards display correctly on X/Twitter:

1. **Inspect Generated Metadata**:
    - View the page source of the content item in a browser (e.g., **yourwebsite.com/index.php/articles/sample-article**).
    - Look for **&lt;meta&gt;** tags with **name** attributes like **twitter:title**, **twitter:image**, etc., generated by **XMeta** classes.
    - Ensure all required fields for the card type are present (e.g., **image** for Summary Large Image).
2. **Test Self-Hosted Media**: 
    - For Player cards, verify the **player\_stream** URL resolves to a valid file in **JPATH\_ROOT** (e.g., **media/videos/sample.mp4**).
    - Access the video/audio player URL presented in the twitter:player metadata tag.
3. **Check Cache Impact**: 
    - If metadata is incorrect, clear the cache (System &gt; Clear Cache &gt; **plg\_system\_xautopost**) to refresh data.
    - Disable caching temporarily to test real-time metadata generation.
4. **Validate URLs**: 
    - Ensure all URLs (**image**, **player**, **player\_stream**) are absolute and accessible.
    - Test URLs in a browser to confirm they load without errors (e.g., no 404 or permission issues).
 
### Notes

- **API Rate Limits**: Twitter/X API limits may cause autoposting failures on high-volume sites. Check limits in the Developer Portal.
 
 

- [      email ](mailto:?subject=System+-+X+Autopost+Documentation&body=https%3A%2F%2Fwww.richeyweb.com%2Fsoftware%2Fdocumentation%2Fsystem-x-autopost)
- [      facebook ](https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fwww.richeyweb.com%2Fsoftware%2Fdocumentation%2Fsystem-x-autopost)
- [      x-twitter ](https://twitter.com/intent/tweet?text=System+-+X+Autopost+Documentation%3A+https%3A%2F%2Fwww.richeyweb.com%2Fsoftware%2Fdocumentation%2Fsystem-x-autopost)
- [      linkedin ](http://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fwww.richeyweb.com%2Fsoftware%2Fdocumentation%2Fsystem-x-autopost&title=System+-+X+Autopost+Documentation&summary=Overview+The+System+-+X+Autopost+plugin+for+Joomla...)
- [      pinterest ](http://pinterest.com/pin/create/button/?url=https%3A%2F%2Fwww.richeyweb.com%2Fsoftware%2Fdocumentation%2Fsystem-x-autopost&media=https%3A%2F%2Fcdn.joomla.org%2Fimages%2Fjoomla-org-og.jpg&description=System+-+X+Autopost+Documentation)
 


 

   [  Previous article: System - Voice Search Documentation   System - Voice Search Documentation ](/software/documentation/system-voice-search) [  Next article: Task - Inactive Users Documentation  Task - Inactive Users Documentation  ](/software/documentation/task-inactive-users)  

##### 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-x-autopost#webpage","url":"https://www.richeyweb.com/software/documentation/system-x-autopost","name":"System - X Autopost Documentation","description":"Joomla System - X Autopost plugin documentation, configuration, and troubleshooting information.","isPartOf":{"@id":"https://www.richeyweb.com/#website"},"about":{"@id":"https://www.richeyweb.com/#organization"},"inLanguage":"en-GB"},{"@type":"Article","headline":"System - X Autopost Documentation","description":"Joomla System - X Autopost plugin documentation, configuration, and troubleshooting information.","author":{"@type":"Person","name":"Michael Richey","url":"https://www.richeyweb.com/contact-us","@id":"https://www.richeyweb.com/contact-us#person"},"datePublished":"2025-10-10T00:00:00+00:00","dateModified":"2025-11-24T00:00:00+00:00","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"]},"Joomla",{"@type":"Thing","name":"Joomla","sameAs":["https://en.wikipedia.org/wiki/Joomla","https://www.wikidata.org/wiki/Q13167","https://g.co/kg/m/07qb81"]},"Twitter",{"@type":"Corporation","name":"Twitter","sameAs":["https://en.wikipedia.org/wiki/Twitter,_Inc.","https://www.wikidata.org/wiki/Q918","https://g.co/kg/m/0hn1vcg"]},"System - X Autopost",{"@type":"Thing","@id":"https://www.richeyweb.com/software/joomla/plugins/system-x-autopost/#softwareapplication","name":"System - X Autopost","sameAs":["https://extensions.joomla.org/extension/social-web/social-share/system-x-autopost/","https://en.wikipedia.org/wiki/System_-_X_Autopost"]},"Technical documentation",{"@type":"Thing","name":"Technical documentation","sameAs":["https://en.wikipedia.org/wiki/Technical_documentation","https://www.wikidata.org/wiki/Q1413406","https://g.co/kg/m/0521g6n"]}],"mentions":["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_"]},"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"]},"Social media marketing",{"@type":"Thing","name":"Social media marketing","sameAs":["https://en.wikipedia.org/wiki/Social_media_marketing","https://www.wikidata.org/wiki/Q267114","https://g.co/kg/m/0gpmcb"]},"Google Play",{"@type":"Thing","name":"Google Play","sameAs":["https://en.wikipedia.org/wiki/Google_Play","https://www.wikidata.org/wiki/Q79576","https://g.co/kg/m/05n02d2"]},"App Store",{"@type":"Thing","name":"App Store","sameAs":["https://en.wikipedia.org/wiki/App_Store_(Apple)","https://g.co/kg/m/03wc248"]},"YouTube",{"@type":"WebSite","name":"YouTube","sameAs":["https://en.wikipedia.org/wiki/YouTube","https://www.wikidata.org/wiki/Q866","https://g.co/kg/m/09jcvs"]},"Vimeo",{"@type":"Corporation","name":"Vimeo","sameAs":["https://en.wikipedia.org/wiki/Vimeo","https://www.wikidata.org/wiki/Q156376","https://g.co/kg/m/02631wj"]}],"@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#article","isPartOf":{"@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#webpage"},"publisher":{"@id":"https://www.richeyweb.com/#organization"},"articleSection":"Documentation","url":"https://www.richeyweb.com/software/documentation/system-x-autopost","hasPart":[{"@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-overview_2_1"},{"@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-overview-of-purpose-and-capabilities_3_2"},{"@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-key-benefits_3_3"},{"@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-tweet-text-length-and-truncation_2_4"},{"@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-system-requirements_2_5"},{"@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-joomla-version-compatibility_3_6"},{"@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-twitter-x-developer-account-for-api_3_7"},{"@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-optional-caching-setup_3_8"},{"@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-installation_2_9"},{"@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-downloading-the-plugin_3_10"},{"@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-installing-via-joomla-extension-manager_3_11"},{"@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-verifying-installation-and-enabling-the-plugin_3_12"},{"@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-api-setup_2_13"},{"@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-obtaining-twitter-x-api-credentials_3_14"},{"@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-configuring-credentials-in-the-plugins-admin-interface_3_15"},{"@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-disabling-autoposting-by-removing-credentials_3_16"},{"@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-notes_3_17"},{"@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-global-configuration_2_18"},{"@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-coverage-settings_3_19"},{"@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-tweet-defaults_3_20"},{"@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-card-defaults_3_21"},{"@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-notes_3_22"},{"@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-per-content-item-customization_2_23"},{"@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-overriding-defaults-for-articles-com-content-and-contacts-com-contact_2_24"},{"@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-configuring-custom-tweet-text-and-card-metadata_2_25"},{"@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-using-joomla-admin-interface-for-per-item-settings_2_26"},{"@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-notes_2_27"},{"@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-special-features-and-output-types_2_28"},{"@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-twitter-x-card-types_3_29"},{"@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-self-hosted-player-logic_3_30"},{"@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-media-output_3_31"},{"@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-metadata-validation_3_32"},{"@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-caching-and-performance_2_33"},{"@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-enabling-disabling-caching_3_34"},{"@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-cache-group-and-lifetime-settings_3_35"},{"@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-troubleshooting_2_36"},{"@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-common-issues_3_37"},{"@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-debugging-autoposting-failures_3_38"},{"@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-verifying-twitter-x-card-rendering_3_39"},{"@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-notes_3_40"}]},{"@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex","@type":"ItemList","name":"System - X Autopost Documentation","numberOfItems":40,"itemListElement":[{"@type":"ListItem","position":1,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-overview_2_1","name":"Overview","url":"https://www.richeyweb.com/software/documentation/system-x-autopost#toc-overview_2_1"}},{"@type":"ListItem","position":2,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-overview-of-purpose-and-capabilities_3_2","name":"Overview of Purpose and Capabilities","url":"https://www.richeyweb.com/software/documentation/system-x-autopost#toc-overview-of-purpose-and-capabilities_3_2"}},{"@type":"ListItem","position":3,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-key-benefits_3_3","name":"Key Benefits","url":"https://www.richeyweb.com/software/documentation/system-x-autopost#toc-key-benefits_3_3"}},{"@type":"ListItem","position":4,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-tweet-text-length-and-truncation_2_4","name":"Tweet Text Length and Truncation","url":"https://www.richeyweb.com/software/documentation/system-x-autopost#toc-tweet-text-length-and-truncation_2_4"}},{"@type":"ListItem","position":5,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-system-requirements_2_5","name":"System Requirements","url":"https://www.richeyweb.com/software/documentation/system-x-autopost#toc-system-requirements_2_5"}},{"@type":"ListItem","position":6,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-joomla-version-compatibility_3_6","name":"Joomla Version Compatibility","url":"https://www.richeyweb.com/software/documentation/system-x-autopost#toc-joomla-version-compatibility_3_6"}},{"@type":"ListItem","position":7,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-twitter-x-developer-account-for-api_3_7","name":"Twitter/X Developer Account for API","url":"https://www.richeyweb.com/software/documentation/system-x-autopost#toc-twitter-x-developer-account-for-api_3_7"}},{"@type":"ListItem","position":8,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-optional-caching-setup_3_8","name":"Optional Caching Setup","url":"https://www.richeyweb.com/software/documentation/system-x-autopost#toc-optional-caching-setup_3_8"}},{"@type":"ListItem","position":9,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-installation_2_9","name":"Installation","url":"https://www.richeyweb.com/software/documentation/system-x-autopost#toc-installation_2_9"}},{"@type":"ListItem","position":10,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-downloading-the-plugin_3_10","name":"Downloading the Plugin","url":"https://www.richeyweb.com/software/documentation/system-x-autopost#toc-downloading-the-plugin_3_10"}},{"@type":"ListItem","position":11,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-installing-via-joomla-extension-manager_3_11","name":"Installing via Joomla Extension Manager","url":"https://www.richeyweb.com/software/documentation/system-x-autopost#toc-installing-via-joomla-extension-manager_3_11"}},{"@type":"ListItem","position":12,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-verifying-installation-and-enabling-the-plugin_3_12","name":"Verifying Installation and Enabling the Plugin","url":"https://www.richeyweb.com/software/documentation/system-x-autopost#toc-verifying-installation-and-enabling-the-plugin_3_12"}},{"@type":"ListItem","position":13,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-api-setup_2_13","name":"API Setup","url":"https://www.richeyweb.com/software/documentation/system-x-autopost#toc-api-setup_2_13"}},{"@type":"ListItem","position":14,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-obtaining-twitter-x-api-credentials_3_14","name":"Obtaining Twitter/X API Credentials","url":"https://www.richeyweb.com/software/documentation/system-x-autopost#toc-obtaining-twitter-x-api-credentials_3_14"}},{"@type":"ListItem","position":15,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-configuring-credentials-in-the-plugins-admin-interface_3_15","name":"Configuring Credentials in the Plugin’s Admin Interface","url":"https://www.richeyweb.com/software/documentation/system-x-autopost#toc-configuring-credentials-in-the-plugins-admin-interface_3_15"}},{"@type":"ListItem","position":16,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-disabling-autoposting-by-removing-credentials_3_16","name":"Disabling Autoposting by Removing Credentials","url":"https://www.richeyweb.com/software/documentation/system-x-autopost#toc-disabling-autoposting-by-removing-credentials_3_16"}},{"@type":"ListItem","position":17,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-notes_3_17","name":"Notes","url":"https://www.richeyweb.com/software/documentation/system-x-autopost#toc-notes_3_17"}},{"@type":"ListItem","position":18,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-global-configuration_2_18","name":"Global Configuration","url":"https://www.richeyweb.com/software/documentation/system-x-autopost#toc-global-configuration_2_18"}},{"@type":"ListItem","position":19,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-coverage-settings_3_19","name":"Coverage Settings","url":"https://www.richeyweb.com/software/documentation/system-x-autopost#toc-coverage-settings_3_19"}},{"@type":"ListItem","position":20,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-tweet-defaults_3_20","name":"Tweet Defaults","url":"https://www.richeyweb.com/software/documentation/system-x-autopost#toc-tweet-defaults_3_20"}},{"@type":"ListItem","position":21,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-card-defaults_3_21","name":"Card Defaults","url":"https://www.richeyweb.com/software/documentation/system-x-autopost#toc-card-defaults_3_21"}},{"@type":"ListItem","position":22,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-notes_3_22","name":"Notes","url":"https://www.richeyweb.com/software/documentation/system-x-autopost#toc-notes_3_22"}},{"@type":"ListItem","position":23,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-per-content-item-customization_2_23","name":"Per-Content-Item Customization","url":"https://www.richeyweb.com/software/documentation/system-x-autopost#toc-per-content-item-customization_2_23"}},{"@type":"ListItem","position":24,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-overriding-defaults-for-articles-com-content-and-contacts-com-contact_2_24","name":"Overriding Defaults for Articles (com_content) and Contacts (com_contact)","url":"https://www.richeyweb.com/software/documentation/system-x-autopost#toc-overriding-defaults-for-articles-com-content-and-contacts-com-contact_2_24"}},{"@type":"ListItem","position":25,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-configuring-custom-tweet-text-and-card-metadata_2_25","name":"Configuring Custom Tweet Text and Card Metadata","url":"https://www.richeyweb.com/software/documentation/system-x-autopost#toc-configuring-custom-tweet-text-and-card-metadata_2_25"}},{"@type":"ListItem","position":26,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-using-joomla-admin-interface-for-per-item-settings_2_26","name":"Using Joomla Admin Interface for Per-Item Settings","url":"https://www.richeyweb.com/software/documentation/system-x-autopost#toc-using-joomla-admin-interface-for-per-item-settings_2_26"}},{"@type":"ListItem","position":27,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-notes_2_27","name":"Notes","url":"https://www.richeyweb.com/software/documentation/system-x-autopost#toc-notes_2_27"}},{"@type":"ListItem","position":28,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-special-features-and-output-types_2_28","name":"Special Features and Output Types","url":"https://www.richeyweb.com/software/documentation/system-x-autopost#toc-special-features-and-output-types_2_28"}},{"@type":"ListItem","position":29,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-twitter-x-card-types_3_29","name":"Twitter/X Card Types","url":"https://www.richeyweb.com/software/documentation/system-x-autopost#toc-twitter-x-card-types_3_29"}},{"@type":"ListItem","position":30,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-self-hosted-player-logic_3_30","name":"Self-Hosted Player Logic","url":"https://www.richeyweb.com/software/documentation/system-x-autopost#toc-self-hosted-player-logic_3_30"}},{"@type":"ListItem","position":31,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-media-output_3_31","name":"Media Output","url":"https://www.richeyweb.com/software/documentation/system-x-autopost#toc-media-output_3_31"}},{"@type":"ListItem","position":32,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-metadata-validation_3_32","name":"Metadata Validation","url":"https://www.richeyweb.com/software/documentation/system-x-autopost#toc-metadata-validation_3_32"}},{"@type":"ListItem","position":33,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-caching-and-performance_2_33","name":"Caching and Performance","url":"https://www.richeyweb.com/software/documentation/system-x-autopost#toc-caching-and-performance_2_33"}},{"@type":"ListItem","position":34,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-enabling-disabling-caching_3_34","name":"Enabling/Disabling Caching","url":"https://www.richeyweb.com/software/documentation/system-x-autopost#toc-enabling-disabling-caching_3_34"}},{"@type":"ListItem","position":35,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-cache-group-and-lifetime-settings_3_35","name":"Cache Group and Lifetime Settings","url":"https://www.richeyweb.com/software/documentation/system-x-autopost#toc-cache-group-and-lifetime-settings_3_35"}},{"@type":"ListItem","position":36,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-troubleshooting_2_36","name":"Troubleshooting","url":"https://www.richeyweb.com/software/documentation/system-x-autopost#toc-troubleshooting_2_36"}},{"@type":"ListItem","position":37,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-common-issues_3_37","name":"Common Issues","url":"https://www.richeyweb.com/software/documentation/system-x-autopost#toc-common-issues_3_37"}},{"@type":"ListItem","position":38,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-debugging-autoposting-failures_3_38","name":"Debugging Autoposting Failures","url":"https://www.richeyweb.com/software/documentation/system-x-autopost#toc-debugging-autoposting-failures_3_38"}},{"@type":"ListItem","position":39,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-verifying-twitter-x-card-rendering_3_39","name":"Verifying Twitter/X Card Rendering","url":"https://www.richeyweb.com/software/documentation/system-x-autopost#toc-verifying-twitter-x-card-rendering_3_39"}},{"@type":"ListItem","position":40,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/software/documentation/system-x-autopost#articleindex-toc-notes_3_40","name":"Notes","url":"https://www.richeyweb.com/software/documentation/system-x-autopost#toc-notes_3_40"}}]}]}
```
