The previous batch size of 50 exceeded PHP max_execution_time on Hostinger shared hosting (30s). Each article needs ~3s for the OpenRouter API call, so 5 articles per AJAX request keeps each batch under 20s. The JS loop still processes all articles automatically — just in more, smaller batches. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>