Recommended server configuration

PHP settings, cron setup, firewall rules and caching exclusions that make Aimogen Pro reliable in production.

Aimogen Pro is unusual for a WordPress plugin in that it makes long, slow outbound HTTP requests, often several in sequence, sometimes from a cron context. Most "it works manually but not on schedule" reports trace back to one of the items on this page.

PHP#

DirectiveRecommendedWhy
max_execution_time300A long article is several sequential provider calls. Agents are many more
memory_limit256M (512M if you scrape or sideload many images)HTML parsing and image processing dominate
max_input_vars5000The settings screens post a very large number of fields; a low limit silently truncates them on save
post_max_size64MCSV imports, training datasets, PDF uploads
upload_max_filesize64MSame
default_socket_timeout300Avoids premature socket close on slow provider responses

The plugin uses a 160-second timeout for large requests (AIMOGEN_DEFAULT_BIG_TIMEOUT). Keep max_execution_time comfortably above that so PHP does not kill the request before the provider replies.

Cron#

WP-Cron only fires when someone loads a page. On a low-traffic site, scheduled generation will run late or not at all.

Disable the pseudo-cron and drive it externally:

php
// wp-config.php
define( 'DISABLE_WP_CRON', true );
bash
# crontab -e  — every five minutes is plenty for most schedules
*/5 * * * * curl -s "https://example.com/wp-cron.php?doing_wp_cron" > /dev/null 2>&1

If your rules run on the per-minute schedule, run the cron job every minute instead.

Aimogen Pro registers its own custom intervals, including a quarter-hour interval and, when a helper plugin is present, a per-minute interval. See Cron events for the full list and Scheduling and the posting cron for how rule scheduling uses them.

Verify with System & Logs › System Info, which reports whether WP-Cron is disabled and lists the plugin scheduled events.

Outbound connectivity#

Every provider call is outbound HTTPS. If your host uses an egress allowlist, these need to be reachable for the features you use. The full per-provider list is on each provider page; the common ones are:

api.openai.com
api.anthropic.com
generativelanguage.googleapis.com
api.x.ai
api.groq.com
openrouter.ai
api.perplexity.ai
integrate.api.nvidia.com
router.huggingface.co
api.stability.ai
api.replicate.com
api.ideogram.ai

Plus wpinitiate.com for licence verification and updates.

Firewalls and security plugins#

Web application firewalls commonly interfere in three places:

The plugin REST routes. If you run the MCP server, its endpoints live under /wp-json/aiomatic-mcp/v1/*. The MCP screen includes vendor-specific instructions for allowlisting them — for Sucuri, that means Security › Security Rules › Create Rule › Custom Rules, matching URI /wp-json/aiomatic-mcp/v1/* with the action set to skip, and every WAF component selected.

admin-ajax.php. The chatbot and most front-end tools post here. Rate-limiting rules that see many POSTs from one visitor sometimes block a normal conversation.

Outbound requests. Some security plugins proxy or block wp_remote_*. If provider calls fail only on this site, test with the security plugin disabled.

See Plugin and server conflicts.

Caching#

Page caching should never cache a page containing a live chatbot response, but the chatbot renders through AJAX so full-page caching is usually fine. What does break is caching the AJAX responses themselves.

Exclude from cache:

  • admin-ajax.php
  • /wp-json/aiomatic/* and /wp-json/omniblock/* if you use the REST API or webhooks

Object caching is beneficial. The Snippets Engine, for example, caches its active snippet list in the aimogen cache group for an hour.

LiteSpeed users: exclude the chatbot AJAX actions from both page cache and ESI.

More detail in Performance.

Database#

The logs tables grow in proportion to usage. On a busy site with detailed usage tracking enabled, the aiomatic_logmeta table — which stores prompt and response text — grows fastest.

Set a retention policy under Settings › Statistics and an automatic clearing schedule under General Settings. See Maintenance and cleanup.

A production checklist#

  • [ ] PHP 7.3 or newer, with curl, mbstring, dom and zip
  • [ ] max_execution_time at 300, memory_limit at 256M or more, max_input_vars at 5000
  • [ ] DISABLE_WP_CRON set and a real cron job running
  • [ ] Provider domains reachable from the server
  • [ ] admin-ajax.php excluded from page cache
  • [ ] Log retention configured
  • [ ] Usage limits configured before any front-end AI feature is exposed
  • [ ] Reliability Mode enabled with at least one fallback model
  • [ ] A backup routine that includes the database

Next: AI provider configuration.

Still stuck? Open a support ticket and include the diagnostics from Aimogen Pro › System & Logs › System Info.