phpBB SEO Framework Lite 1.1.0
🚀 Overview
phpBB SEO Framework Lite 1.1.0 introduces the Persistent Slug Backfill Engine, an enterprise-grade, high-throughput bulk indexing suite designed to rapidly generate and backfill SEO slugs for existing topics on boards of all sizes—from small communities to large-scale forums with hundreds of thousands of topics.
This release provides both a command-line interface (CLI) for server terminal operations and an interactive stepped AJAX runner directly inside the ACP XML Sitemap interface.
🌟 What's New
1. ⚡ Persistent Slug Backfill Engine
- High-Throughput Keyset Bulk Indexing: Employs zero-offset cursor pagination (
topic_id > :last_id ORDER BY topic_id ASC LIMIT :batch_size) to guarantee flat, fast database query execution times even when traversing tables with 500,000+ topics. - Strictly Bounded Memory Footprint: Operates with predictable and flat memory consumption (< 3 MB peak overhead), eliminating PHP memory limit exhaustion (
Allowed memory size exhausted) on shared and enterprise hosting environments alike. - Missing-Only Indexing Mode: Automatically detects and processes only topics lacking an indexed slug via database anti-joins, avoiding unnecessary re-indexing of already processed content.
- Atomic Multi-Row Insertions: Executes batched inserts inside database transaction boundaries (
sql_transaction), ensuring data integrity and maximizing database throughput. - Concurrency Mutex Locking: Utilizes phpBB core's database lock provider (
\phpbb\lock\db('seo_slug_rebuild_lock')) to eliminate race conditions between simultaneous CLI and web rebuild processes. - Deferred Sitemap Cache Invalidation: Intelligently purges sitemap statistical caches only once upon 100% completion of the backfill process, eliminating cache thrashing during batch runs.
2. 🎨 Interactive ACP AJAX Runner
- Smart Notice Card: Automatically detected and displayed in the ACP XML Sitemap section whenever unindexed topic slugs are detected.
- Stepped Progress Bar: Displays real-time completion percentage, processed topic counts, and status indicators via asynchronous AJAX requests without page reloads.
- Pause & Resume Support: Gracefully recovers from server timeouts or transient network drops with one-click resumption from the exact last processed topic ID.
- In-Place Counter Synchronization: Automatically transitions into a completion state upon reaching 100%, resetting missing slug counters to
0without requiring an administrative page refresh.
3. 🖥️ Enhanced CLI Console Suite
- Fully integrated Symfony Console command:
php bin/phpbbcli.php seo:rebuild-slugs(and aliasphpbbseo:rebuild-slugs). --allFlag: Forces a complete regeneration of all topic slugs from scratch.--batch-sizeParameter: Configurable batch size (1 to 1,000 topics per batch, default: 1000).- Terminal Progress Output: Real-time batch progress reporting with processed counts, cursor IDs, remaining topics, and elapsed execution timing.
🛠️ Improvements & Fixes
- ACP Pro Navigation State Synchronization: Resolved an issue where ACP sidebar navigation links appeared disabled when navigating within Pro edition modules.
- Optimized Sitemap Query Plans: Enhanced query execution efficiency for large-scale sitemap index generation.
- Hardened Lock Lifecycle: Improved automatic lock release safeguards on abnormal process termination.
📋 Compatibility
- phpBB:
3.3.0–3.3.17+ - PHP:
7.4,8.0,8.1,8.2,8.3+ - Web Servers: Apache 2.4+ (with
mod_rewrite), LiteSpeed, OpenLiteSpeed, Nginx
📦 Installation / Upgrade
- Download
phpbbseo_framework_1.1.0.zip. - Extract the archive into your phpBB installation so the files reside in:
ext/phpbbseo/framework/ - Purge the board cache via the ACP (General » Purge the cache) or delete the contents of
/cache/production/. - If upgrading on a board with unindexed existing topics, navigate to ACP » SEO Framework » XML Sitemap and click Rebuild Missing Slugs, or run:
php bin/phpbbcli.php seo:rebuild-slugs
📄 License
phpBB SEO Framework is open-source software licensed under the GNU General Public License v2 (GPL-2.0-only).