=== Excelerate AI – Bulk AI Content from Spreadsheets === Contributors: IconiThemes Tags: ai content, bulk content, spreadsheet, csv, openai Requires at least: 4.0.0 Requires PHP: 7.4 Tested up to: 7.1 Stable tag: 1.0.7 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html Generate hundreds of product descriptions, blog intros or meta tags at once. Add =GPT() formulas to a CSV or Excel sheet, upload, get it back filled. == Description == **Write one prompt. Fill a whole spreadsheet.** Excelerate AI turns a spreadsheet into a bulk content generator. Put a `=GPT()` formula in any cell, reference other columns in the same row, and upload the file. Excelerate AI works through every row in the background using the OpenAI API, writes the generated text back into the sheet, and emails you the finished file. No copy-pasting prompts one at a time. No browser tab to babysit. = How it works = 1. Prepare a CSV, TSV or XLSX file. Put your data in columns (product name, keyword, city…). 2. In the column you want filled, add a formula that references other cells, for example: `=GPT("Write a 60-word product description for "&A2&" aimed at "&B2&"")` 3. Upload the file under **Tools → GPT Content**, add notification emails and click **Add to Queue**. 4. Excelerate AI processes the rows in the background and emails you when the file is ready to download. = Great for = * **WooCommerce stores** – product descriptions and short descriptions for an entire catalogue * **SEO** – meta titles, meta descriptions and FAQ answers for hundreds of pages * **Local / programmatic pages** – city- or service-specific intro paragraphs * **Agencies** – batch social captions, ad copy variations or email subject lines for clients * **Translation & rewriting** – rewrite or translate a column of existing text into another language = Features = * **Spreadsheet-native prompts** – `=GPT()` formulas with cell references (`"&A2&"`) so each row gets its own prompt * **CSV, TSV and XLSX** support * **Background queue** – large files are processed in chunks by cron, so your admin never times out * **Row-by-row preview and editing** – browse and fix any row before you queue the job * **Stop** a running job at any time * **Email notification** with the finished file attached when the job completes * **Any language** – write the prompt in the language you want the output in * **Bring your own OpenAI API key** – you pay OpenAI directly, no middleman markup = External service = This plugin sends the prompts built from your spreadsheet to the OpenAI API (https://api.openai.com/) to generate text. Data is sent only when you queue a file for processing. An OpenAI API key is required. * OpenAI Terms of Use: https://openai.com/policies/terms-of-use * OpenAI Privacy Policy: https://openai.com/policies/privacy-policy = Feedback form = The optional **Feedback** tab (Tools → GPT Content → Feedback) lets you email a feature request or bug report to the plugin developer. Nothing is sent unless you press **Send**. The email contains your message and, only if you enter one, your reply-to address. Your site URL and WordPress, PHP and plugin versions are included only if you tick "Include site details". The email is sent from your own site using WordPress's mail function. == Installation == 1. In your dashboard go to **Plugins → Add New**, search for "Excelerate AI", then install and activate. (Or upload the `excelerate-ai` folder to `/wp-content/plugins/`.) 2. Go to **Tools → GPT Content → Settings** and paste your OpenAI API key. 3. Upload your spreadsheet on the **Content Generation** tab. = Recommended: use a real server cron = Excelerate AI processes files in the background with WP-Cron. On low-traffic sites WP-Cron only runs when someone visits, so jobs can be slow. For reliable processing: 1. Add this line to `wp-config.php`: `define( 'DISABLE_WP_CRON', true );` 2. Add a cron job on your server that runs every minute: `* * * * * curl -s https://yourwebsite.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1` Replace `https://yourwebsite.com/` with your site URL. == Frequently Asked Questions == = Do I need an OpenAI account? = Yes. You need an OpenAI API key with billing enabled. Usage is billed by OpenAI based on the amount of text generated. = What file types can I upload? = CSV, TSV and XLSX. The first row must contain column headers. = How do I reference other columns in my prompt? = Wrap the cell reference in `"&` and `&"`. For row 2, `=GPT("Write a tagline for "&A2&"")` sends "Write a tagline for ". Use the matching row number on every row. = How long does a big file take? = Rows are processed in batches every minute. Speed depends on your server cron, the length of the content and OpenAI's response time. You'll get an email when it's done, so you can close the tab. = Can I stop a job halfway? = Yes. Open the file and click **Stop Process**. Rows already generated are kept. = Does it publish posts automatically? = No. Excelerate AI fills your spreadsheet. You stay in control of what gets imported or published — for example with WooCommerce's product CSV importer or WP All Import. = How do I request a feature or report a bug? = Use the **Feedback** tab under **Tools → GPT Content**, or post on the WordPress.org support forum. = Is my data sent anywhere else? = Only the prompts built from cells containing `=GPT()` are sent to OpenAI. Nothing is sent to IconiThemes unless you choose to send a message from the **Feedback** tab. == Screenshots == 1. Upload a CSV/XLSX and see all your bulk content jobs and their status. 2. Preview and edit any row of your sheet before processing. 3. Add notification emails and add the job to the queue. 4. Example spreadsheet with =GPT() formulas, before and after. 5. Settings – connect your OpenAI API key. == Changelog == = 1.0.7 = * New: Feedback tab (Tools → GPT Content → Feedback) to send feature requests and bug reports to the developer. Site details are only included if you opt in. * New: Review prompt after your first spreadsheet finishes. Shown only on the plugin screen, to admins, and can be snoozed or dismissed. * New: Support, Feature request and Rate links on the Plugins screen. * Fixed: Content Generation tab was never highlighted as active. = 1.0.6 = * Fixed fatal error on plugin activation (WP_Filesystem not initialised in Logger) * Fixed fatal error when reading uploaded spreadsheets (wrong logger class name) * Logger now falls back to native file functions when WP_Filesystem is unavailable * Tested with WordPress 7.1 = 1.0.5 = * Code optimisation = 1.0.4 = * Code optimisation = 1.0.3 = * Code optimisation = 1.0.2 = * Code optimisation = 1.0.1 = * Enhanced cron job to reduce memory usage * Validation, sanitisation and escaping improvements * Direct file access disabled = 1.0.0 = * Initial release