A Flarum extension that adds a blog section to your forum — a dedicated blog overview, article pages, and an article composer, built on top of your existing discussions and tags.
Full documentation lives in the docs/ folder:
- Flarum 2.0 or above (PHP requirements follow Flarum's)
flarum/tags— articles are tag-basedflarum/lock— powers per-article comment locking
Looking for the Flarum 1.x compatible version? Use the
1.xbranch /fof/blog^1.0.
composer require fof/blog:"*"composer update fof/blog
php flarum migrate
php flarum cache:clearThis extension was transferred to FriendsOfFlarum and was previously published as v17development/flarum-blog.
For forum admins, migration is a one-line change — swap the package, keep your settings and existing blog articles:
composer remove v17development/flarum-blog
composer require fof/blog
php flarum migrate
php flarum cache:clear
php flarum assets:publishfof/blog declares replace: { "v17development/flarum-blog": "*" }, so anything that depended on the old package is satisfied by the new one, and the two can never be installed at once.
Third-party extension authors should update any references from the V17Development\FlarumBlog PHP namespace to FoF\Blog, and from the v17development/blog / v17development-flarum-blog frontend modules to fof/blog.
Note: SEO integration now targets
fof/seo(FoF\Seo). If you relied on SEO tags for your blog, ensurefof/seois installed and enabled.
Version 2.0 targets Flarum 2.0 and modernises the extension throughout. Notable changes for integrators and theme authors:
- CSS classes were consolidated onto the
FoFBlog-prefix (previously a mix ofFlarumBlog-,Flarum-Blog-andV17Blog-). Custom themes targeting the old classes need updating. - API: the discussion index no longer includes
blogMeta/firstPostby default — request?include=blogMetaexplicitly. Single-discussion responses still includeblogMeta. When creating an article viaPOST /api/discussions, the blog metadata travels as the write-onlynewBlogMetaattribute (previouslyblogMeta). - PHP: several classes moved to conventional namespaces (e.g. the model is now
FoF\Blog\BlogMeta). See the developer reference. - New domain events (
ArticleApproved,ArticleFeatured,ArticleUnfeatured,BlogMetaUpdated) and an optional flarum/audit integration. - Users with approve posts can now publish pending articles without also holding write articles.
- Adds a Blog overview page and article detail pages to your forum
- An article composer for writing blog posts
- Builds on the
flarum/tagsextension — articles are tag-driven discussions - Per-article summary and featured image
- Highlighted (featured) posts on the overview
- Categories sidebar, with optional category hierarchy
- Optionally disable or allow comments by default
- Optional review workflow — articles can require approval before publishing, with dedicated write/approve permissions
- Set the blog overview as the forum home page
- Works with already-existing discussions/articles
- Ghost (skeleton) loading states
- Configurable default article image, stored on the
flarum-assetsfilesystem disk
Compatible — but not required — alongside:
- flarum/sticky — sticky indicator on articles
- flarum/audit — audit log entries for article creation, approval, (un)featuring and meta edits
- fof/seo — SEO meta & structured data for blog pages
- fof/upload — pick a featured image from your uploaded files
- fof/rich-text — rich-text editing in the composer
- fof/discussion-language — per-language blog overviews
This extension was originally created and maintained by V17 Development as v17development/flarum-blog. FriendsOfFlarum is grateful for their work and continues development with their blessing.
Sponsored by Glowing Blue.
This extension is licensed under the MIT License. See the LICENSE.md file for details.




