WP Manifestindependent plugin directory
manifest / integrations / apollo-helper

Apollo Helper

Companion WordPress plugin for the Apollo desktop app — extended apollo/v1 REST API. GPL-2.0-or-later.

by Apollo · github.com/nomad-computer/apollo-helper

★ 0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/nomad-computer/apollo-helper/archive/refs/heads/main.zip

The companion WordPress plugin for the Apollo desktop app: an extended apollo/v1 REST API plus a few front-end hooks (SEO tags, announcement bar, pretty-link and bio-link pages, traffic tracking).

Apollo works without it — it unlocks deeper cleanup, media, and edit operations over REST that core WordPress doesn't expose. It's optional and free, and its source is here in the open so you can see exactly what runs on your site.

Installation

Normally you don't install this by hand: the Apollo app offers to install and update it for you over REST (or via SSH/Local). To install manually, upload the single generated apollo-helper.php to wp-content/plugins/apollo-helper/ (or as a one-file plugin in wp-content/plugins/) and activate it from Plugins in wp-admin.

Requires WordPress 5.6+ and PHP 7.2+.

It ships as one file — but you edit modules

apollo-helper.php is generated. Every install path assumes the plugin is a single physical file: the helper's own /self-update route rewrites __FILE__, the REST installer ships a one-file zip, the SSH/Local path writes one file, and the Rust side bakes it in with include_str!. So the plugin stays one file on disk, but the source is split into modules under src/ for maintainability.

  • Edit the module in src/ (e.g. SEO code lives in src/70-seo.php).

  • Never edit apollo-helper.php directly — it carries an AUTO-GENERATED banner and your change would be overwritten on the next build.

  • Rebuild from the repo root:

    pnpm helper:build

    pnpm helper:check verifies the committed apollo-helper.php matches the modules (run it before committing; wire it into CI when a test workflow exists).

Both the modules and the generated apollo-helper.php are committed.

Module layout

Modules are concatenated in filename order (numeric prefixes fix the order). 00-header.php is the only file with the plugin header and define()s; every module still starts with its own <?php line so it lints standalone, and the build strips that opener from all but the first.

Module Responsibility
00-header.php Plugin header, ABSPATH guard, define()s
10-rest.php rest_api_init route registration (all apollo/v1 routes)
20-sso.php One-time admin auto-login
30-traffic.php Lightweight traffic tracking
40-core-files.php Site info, WXR export, theme/plugin install, file management, self-update
50-updates.php Plugin/theme update detection + safe (auto-rollback) updates + core update
60-health.php Health scans (cleanup, integrity, repair, performance, storage) + security-config read
70-seo.php SEO config, one-click SEO fixes, wp_head on-page tags
80-marketing.php Announcement bar + pretty links
85-bio.php Bio-links (Linktree-style) page
90-media.php Media usage + unused/large/broken scans
95-vulns.php Plugin vulnerability (CVE) lookup for the Updates lens

Constraints for module files (keep concatenation safe)

  • No namespace and no declare(strict_types=1) in any module — both must be the first statement of a file and would break when concatenated. Keep the global-function convention with the apollo_helper_ prefix.
  • No closing ?> tag.
  • Keep the plugin header and every define() in 00-header.php; keep the two version strings there (* Version: and APOLLO_HELPER_VERSION) in sync — the build fails if they disagree.

License

GPL-2.0-or-later — the same license WordPress ships under. You're free to use, study, modify, and redistribute it under those terms.