BlogOps WP

Documentation

From zip file to automated blog in about ten minutes. If anything here doesn't match what you see, tell us on the support page.

1. Install

In your WordPress admin, go to Plugins → Add New → Upload Plugin, choose the blogops-wp.zip file, install, and activate. Requirements: WordPress 6.0+, PHP 7.4+.

On activation you're taken straight to the setup wizard. You can re-run it anytime from Settings → re-run setup wizard.

2. The setup wizard

Five steps, and they matter — everything the AI writes is built from this profile:

  1. Business basics — name, website, phone (used in calls-to-action if provided), notification email.
  2. Industry & audience — pick from 12 industry presets (or describe your own niche), your service area, and who you're writing for. Local specifics dramatically improve search performance.
  3. Brand voice — tone, what makes you different, and your call-to-action. Differentiators are woven into articles naturally, never as a list of boasts.
  4. AI setup — connect your own API key (see below), and optionally activate a license.
  5. Publishing — post category, cadence, and notification preferences.

3. Connecting an AI provider

Every plan uses your own key from any of:

  • OpenAI — platform.openai.com/api-keys
  • Anthropic (Claude) — console.anthropic.com
  • Google (Gemini) — aistudio.google.com/apikey

Paste the key in the wizard or under Settings → AI Provider. Keys are encrypted at rest and never displayed again — the settings screen shows only the last four characters. You pay your provider directly for usage; a typical article costs cents.

Maximum security: instead of saving keys in the database, define them in wp-config.php: BOPS_KEY_OPENAI, BOPS_KEY_ANTHROPIC, or BOPS_KEY_GOOGLE. Constants always take precedence.

Custom model IDs

The model dropdowns cover current recommended models, but providers ship new ones constantly. Choose Custom model ID… and type any model identifier your provider offers — it's passed straight through, so future models work without waiting for a plugin update.

4. Activating your lifetime license

Your license is a block of text beginning with BOPSL. — paste the whole thing into the wizard's AI step or under Settings → License and save. It's verified locally on your server using a public key inside the plugin, and it never contacts any license server — not at activation, not weekly, not ever. Keep a copy of the license text with your backups; it's yours.

5. The content workflow

Everything lives under BlogOps WP → Queue & Approvals:

  1. Generate titles from seed topics (or let it use your profile). Approve the ones you like.
  2. Generate content for approved titles. Generation runs in the background — you can close the tab; the button shows progress and you'll get an email when drafts are ready (if enabled).
  3. Review & approve content, with a live preview of exactly how the post will look.
  4. Generate the featured image (Pro), regenerate until it fits.
  5. Schedule — approved posts are placed on your cadence (posting days, spacing, publish time from Settings) and publish automatically.

For bulk work without full Autopilot, the dashboard’s batch-approve tools (Pro) let you clear a title queue in one click. Your blog page updates and your menu rotates on every publish.

Autopilot — zero interaction (Pro)

When you trust the output, enable Settings → Posting Schedule → Autopilot. Every 15 minutes it approves waiting titles and drafts, generates content and featured images in the background, schedules onto your cadence, publishes, and tops up the title queue when it runs low (from your seed topics, or from your business profile if you leave them blank).

Guardrails: only a couple of AI generations start per pass, so a misconfiguration can't burn a budget in one sweep, and failed generations are never retried automatically — they wait on the dashboard for a human. Autopilot is off by default and requires Pro.

6. Blog page & menu automation

Once your site has more than six published posts, BlogOps WP creates a paginated blog page (once — it won't recreate it if you delete it, unless you force a re-sync). If you already have a blog page, it adopts it instead. It finds your Blog menu item across all menus or creates one in your primary menu, then keeps your six most recent posts rotating beneath it. Configure all of this under Settings → Blog Page & Menu, or trigger a manual re-sync from the dashboard status card.

7. Structured data (JSON-LD)

Under Settings → Structured Data, BlogOps WP adds search-engine markup with zero configuration: Organization or local-business schema on your homepage (name, phone, service area, and a business type mapped from your industry), BlogPosting + breadcrumbs on published posts, and Blog markup on the blog page. Add your street address to upgrade to full local-business markup, plus social profile URLs so search engines connect your accounts to your site.

Already running an SEO plugin? BlogOps WP detects Yoast SEO, Rank Math, and All in One SEO and suppresses its own markup automatically — duplicate structured data does more harm than good. The settings tab also runs a daily check of your live homepage and tells you exactly what structured data is (or isn't) there, so the decision is based on facts. Validate results anytime with Google's Rich Results Test.

The Schema Report tab lists every page carrying BlogOps structured data — green check, or a red X with the exact reason (an SEO plugin suppressing it, a toggle off, the blog page not created yet). Click any page to view its exact JSON-LD and edit it: your version is validated on save, replaces the generated markup on that page, and can be reset in one click.

BlogOps WP never emits ratings or review markup — structured data should only claim what your pages can substantiate, and hand-edited overrides containing rating markup are rejected too.

8. Team access

By default only administrators can run the workflow. Under Settings → AI Provider → Team Access, you can allow the Editor role to manage the queue and approvals. Settings and licensing always remain admin-only.

Troubleshooting

"Generation started" but nothing finishes

Your host may block loopback requests. BlogOps WP falls back to a once-a-minute WordPress cron sweep — but WP-Cron only fires when your site gets traffic. On very low-traffic sites, set up a real cron job in your hosting panel pointing at wp-cron.php every minute or two.

Emails not arriving

WordPress mail deliverability is a hosting-level issue; an SMTP plugin (e.g. one connecting to your email provider) fixes it for all plugins at once.

Menu rotation not appearing

Rotation is a Pro feature and requires a classic menu assigned to a menu location. Check Appearance → Menus, and confirm the Blog Page & Menu status card shows a detected menu.