dshovchko / flarum-image-dimensions
Automatically adds width and height attributes to images in Flarum posts for better performance and SEO.
Installs: 86
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Type:flarum-extension
pkg:composer/dshovchko/flarum-image-dimensions
Requires
- flarum/core: ^1.0.0
README
A Flarum extension that automatically adds width and height attributes to images in posts, improving page load performance and preventing layout shifts.
Features
- đ Automatically detects and adds image dimensions
- ⥠Adds
loading="lazy"attribute for better performance - đ Console command to audit existing posts with flexible modes
- đ§ Email reports for batch operations
- â° Scheduled automatic checks (daily/weekly/monthly)
- âī¸ Configurable check modes (fast/default/full)
- â Supports BBCode, Markdown, and auto-linked images
Installation
composer require dshovchko/flarum-image-dimensions
Usage
Automatic Processing
Once enabled, the extension automatically adds dimensions to all new images posted.
Scheduled Checks
Configure automatic checks via the admin panel:
- Go to Admin â Extensions â Image Dimensions
- Enable Scheduled Checks
- Set Check Frequency (daily/weekly/monthly)
- Choose Check Mode:
- Fast: Only verify attributes exist
- Default: Verify attributes + URL validity
- Full: Verify exact dimensions
- Set Batch Size (number of discussions per run)
- Add Email Recipients (comma-separated)
â ī¸ Requires Flarum scheduler to be configured. Add to your crontab:
* * * * * cd /path/to/flarum && php flarum schedule:run >> /dev/null 2>&1
Manual Console Command
Audit existing posts using the image-dimensions:check console command:
# Check a single discussion php flarum image-dimensions:check --discussion=123 # Check a specific post php flarum image-dimensions:check --post=456 # Scan all discussions in batches of 250 php flarum image-dimensions:check --all --chunk=250 # Fast mode (verifies only width/height attributes) php flarum image-dimensions:check --discussion=123 --fast # Full mode (verifies URLs and actual image dimensions) php flarum image-dimensions:check --discussion=123 --full # Email the report php flarum image-dimensions:check --all --mailto=admin@example.com # Automatically fix images without dimensions php flarum image-dimensions:check --discussion=123 --fix php flarum image-dimensions:check --post=456 --fix php flarum image-dimensions:check --all --fix --chunk=100
âšī¸ The command requires one of
--discussion=<id>,--post=<id>, or--all.
Supported Image Formats
- JPG/JPEG
- PNG
- GIF
- WebP
- SVG/SVGZ
For AVIF support: Install dshovchko/flarum-avif-support extension (requires PHP 8.2+ for dimensions)
Why Image Dimensions Matter
Adding width and height attributes to images:
- Prevents Cumulative Layout Shift (CLS)
- Improves Core Web Vitals scores
- Enhances SEO rankings
- Provides better user experience
Requirements
- Flarum ^1.0
- PHP 7.4+
Links
Release Checklist
cd js && npm cinpm run buildgit add js/distto include the compiled admin/forum bundles- Update
CHANGELOG.mdwith the version notes - Commit, tag (e.g.
v1.5.1), and push branch + tag to GitHub - Publish the GitHub release and ensure Packagist receives the tag