- Language
- French
- Compatible XF 2.x versions
- 2.3
LLMO SEO automatically injects structured JSON-LD metadata (Schema.org + custom "llmo" context) into XenForo threads, resources, forums, and user profiles. It improves SEO and makes forum content machine-readable for search engines and AI models. Compatible with XenForo 2.3.7+ and PHP 8.4.
What has changed compared to version 3.1.0
- Without hashes.json → no more error «N files missing» during installation.
- PHP fixes in the controller and service (correct concatenation, adding arrays, =, correct ternary operators).
- Single namespace Sylvain\LlmoproV311 to prevent conflicts with previous versions.
- Minimal, correct routes.xml file (no message «Please enter a valid value»).
- Clean setup (tables xf_llmopro_document and xf_llmopro_log).
upload/src/addons/Sylvain/LlmoproV311/
- addon.json (v3.1.1, requires XF ≥ 2.3.0+)
- Setup.php
- _data/
- options.xml
- phrases.xml
- template_modifications.xml
- routes.xml → llmopro prefix
- Entity/Document.php, Entity/Log.php
- Service/Generator.php
- Util/RateLimiter.php
- Pub/Controller/Index.php, Pub/View/Json.php
- Cron/Regenerate.php, Job/WebhookPing.php
- README.txt, LISEZMOI.txt (at the root of the zip archive)
- Upload the contents of upload/to the XenForo root (on the same level as src/and admin.php).
- ACP → Supplements → Installation of LLMO Pro (Sylvain) — V3.
- ACP → Tools → Recreate Caches (Templates, Phrases, Routes).
- /llmopro — manifest/info
- /llmopro/threads
- /llmopro/thread?thread_id=123
- /llmopro/search?q=...
- /llmopro/sitemap
- /llmopro/well-known
- Check the exact path: src/addons/Sylvain/LlmoproV311/ (case sensitive).
- Make sure the server does not have an upload subfolder.
- Directories 755, files 644.
- Remove all old Llmopro/LlmoproV3 to avoid accidental file merging.
- If you still need an integrity check, I can provide a server script to generate hashes.json from files that are actually present after installation.
1) Server requirements
- PHP ≥ 8.1 (8.2/8.3 — good), MySQL ≥ 5.7/MariaDB 10.3+
- Extensions: mbstring, json, gd, curl, xml
- Access rights: 755 directories/644 files
- Unpack XF → upload to site root.
- Run /install/ → create a database → as administrator.
- In src/config.php, make sure:
- $config['enableAddOns'] = true;
- $config['upgradePending'] = false;
- $config['enableMaintenance'] = false;
ACP → Tools → Rebuild Caches (Start from Clean State).
3) Installation of the LLMO Pro add-on (fixed build).
- Use the fixed package (without hashes.json).
- Upload the contents of upload/to the XF root (at the same level as src/and admin.php).
- ACP → Supplements → Installation of LLMO Pro (Sylvain) — V3.
- ACP → Tools → Reassembling Caches (Templates, Phrases, Routes).
- If you ever need a file integrity check, we will generate hashes.json after installing it on the server (no more false «missing files»).
- Open the branch page → in HTML code you should see <script id="llmopro-seo" type="application/ld+json">.
- /llmopro
- /llmopro/threads
- /llmopro/thread?thread_id=1 (use real id)
- /llmopro/search?q=test
- /llmopro/sitemap
- Enable/disable JSON-LD injection
- Summary length
- ETag/If-Modified-Since
- Speed limit
- Basic masking of personal data
- Web hook (optional)
- Test with default XF style (without overriding patterns) to identify problems. If the message «Please enter a valid value» for routes appears during reassembly:
- Temporarily rename _data/routes.xml to routes.off.xml and reassembly.
- I'll give you a small script to create a route directly in the database (more reliable) and then reassemble the caches.