Zero-surprise fresh install plan (XenForo 2.3.x) + our add-on
1) Server requirements
$config['upgradePending'] = false;
$config['enableMaintenance'] = false;
4) Smoke tests
6) Testing best practices
1) Server requirements
- PHP ≥ 8.1 (8.2/8.3 OK), MySQL ≥ 5.7/MariaDB 10.3+
- Extensions: mbstring, json, gd, curl, xml
- Permissions: 755 directories / 644 files
- Unzip XF → upload to site root.
- Run /install/ → create DB → admin user.
- In src/config.php, ensure:
$config['upgradePending'] = false;
$config['enableMaintenance'] = false;
- ACP → Tools → Rebuild caches (start from a clean state).
- Use the corrected package (without hashes.json).
- Upload the contents of upload/ to the XF root (same level as src/ and admin.php).
- ACP → Add-ons → Install LLMO Pro (Sylvain) — V3.
- ACP → Tools → Rebuild caches (Templates, Phrases, Routes).
4) Smoke tests
- Open a thread page → in the HTML you should see <script id="llmopro-seo" type="application/ld+json">.
- Public endpoints:
- /llmopro
- /llmopro/threads
- /llmopro/thread?thread_id=1 (use a real ID)
- /llmopro/search?q=test
- /llmopro/sitemap
- Enable/disable JSON-LD injection
- Summary length
- ETag / If-Modified-Since
- Rate-limit
- Basic PII masking
- Webhook (optional)
6) Testing best practices
- Test with the default XF style (no template overrides) to isolate issues.
- If a rebuild ever shows “Please enter a valid value” for Routes:
- Temporarily rename _data/routes.xml to routes.off.xml, rebuild.
- I’ll give you a tiny script to create the route directly in DB (more robust), then rebuild caches.
Attachments