PHPackages                             jaspervriends/flarum-seo - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. jaspervriends/flarum-seo

Abandoned → [v17development/flarum-seo](/?search=v17development%2Fflarum-seo)Flarum-extension[Utility &amp; Helpers](/categories/utility)

jaspervriends/flarum-seo
========================

Adds SEO tags for your Flarum forum

3.0.4(3w ago)495325[10 issues](https://github.com/FriendsOfFlarum/seo/issues)MITPHPPHP ^8.2CI passing

Since Jan 3Pushed 2w ago3 watchersCompare

[ Source](https://github.com/FriendsOfFlarum/seo)[ Packagist](https://packagist.org/packages/jaspervriends/flarum-seo)[ Docs](https://friendsofflarum.org)[ Fund](https://opencollective.com/fof)[ RSS](/packages/jaspervriends-flarum-seo/feed)WikiDiscussions 2.x Synced 2w ago

READMEChangelog (10)Dependencies (15)Versions (52)Used By (0)

FoF SEO
=======

[](#fof-seo)

[![MIT license](https://camo.githubusercontent.com/7013272bd27ece47364536a221edb554cd69683b68a46fc0ee96881174c4214c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d626c75652e737667)](https://github.com/FriendsOfFlarum/seo/blob/2.x/LICENSE.md) [![Latest Stable Version](https://camo.githubusercontent.com/624cc765276b9605ef23cf4526af9bf3029f681acca2b4381909f60e60ecdd80/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f666f662f73656f2e737667)](https://packagist.org/packages/fof/seo) [![Total Downloads](https://camo.githubusercontent.com/381b2ace43234df24d1ba3c379743a6413b433300285552c5c03a4a11db5c268/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f666f662f73656f2e737667)](https://packagist.org/packages/fof/seo)

A [Flarum](https://flarum.org) extension that adds SEO tags to your forum — meta description, Open Graph, Twitter cards, and schema.org structured data.

Documentation
-------------

[](#documentation)

Full documentation lives in the [`docs/`](https://github.com/FriendsOfFlarum/seo/blob/2.x/docs/README.md) folder:

- [Installation](https://github.com/FriendsOfFlarum/seo/blob/2.x/docs/installation.md)
- [Features &amp; configuration](https://github.com/FriendsOfFlarum/seo/blob/2.x/docs/features.md)
- [Per-item SEO (the *Configure SEO* dialog)](https://github.com/FriendsOfFlarum/seo/blob/2.x/docs/meta-management.md)
- [Do-follow link list](https://github.com/FriendsOfFlarum/seo/blob/2.x/docs/do-follow-links.md)
- [Sitemap &amp; robots.txt](https://github.com/FriendsOfFlarum/seo/blob/2.x/docs/sitemap-and-robots.md)
- Developers: [SeoMeta objects](https://github.com/FriendsOfFlarum/seo/blob/2.x/docs/developers/seometa-objects.md) · [the `SeoProperties` class](https://github.com/FriendsOfFlarum/seo/blob/2.x/docs/developers/seoproperties.md)
- [Contributing](https://github.com/FriendsOfFlarum/seo/blob/2.x/docs/contributing.md)

Installation
------------

[](#installation)

```
composer require fof/seo:"*"
```

Updating
--------

[](#updating)

```
composer update fof/seo
php flarum cache:clear
```

Migrating from v17development/flarum-seo
----------------------------------------

[](#migrating-from-v17developmentflarum-seo)

This extension was transferred to FriendsOfFlarum and was previously published as `v17development/flarum-seo`. The FriendsOfFlarum line begins at **3.0.0**, continuing the version history (the previous package reached 2.0.9).

For forum admins, migration is a one-line change — swap the package, keep your settings and stored SEO data:

```
composer remove v17development/flarum-seo
composer require fof/seo
php flarum cache:clear
```

`fof/seo` declares `replace: { "v17development/flarum-seo": "*" }`, so anything that depended on the old package is satisfied by the new one, and the two can never be installed at once. Existing `v17development/flarum-seo` releases (≤ 2.0.9) remain installable from Packagist for anyone not yet ready to switch.

Third-party extension authors should update any references from the `V17Development\FlarumSeo` namespace to `FoF\Seo`, and from the `v17development-seo` frontend module to `fof-seo`. See the [developer documentation](https://github.com/FriendsOfFlarum/seo/blob/2.x/docs/developers/extending-metadata.md).

Features
--------

[](#features)

SEO tags are generated for the following pages:

- Home page
- Tags page (if `flarum/tags` is enabled)
- Discussion page
- User profile
- Pages page (if `fof/pages` is enabled)

Methods used:

- HTML meta tags (`application-name`, `description`, `keywords`, `language`)
- Open Graph tags (`og:type`, `og:title`, `og:description`, `og:url`, `og:image`, `og:locale`, and `article:published_time` / `article:modified_time` on article pages)
- Twitter cards
- `inLanguage` on every page
- Schema.org structured data:
    - [WebPage](https://schema.org/WebPage) + [WebSite](https://schema.org/WebSite) `SearchAction`
    - [DiscussionForumPosting](https://schema.org/DiscussionForumPosting) — with `headline`, `text`, comment/like/view [interactionStatistic](https://schema.org/interactionStatistic)s, and (with post crawling on) per-reply `comment` nodes carrying like/upvote counts
    - [QAPage](https://schema.org/QAPage) for Q&amp;A discussions (with `fof/best-answer`)
    - [CollectionPage](https://schema.org/CollectionPage) — with an `ItemList` of the tag's discussions
    - [ProfilePage](https://schema.org/ProfilePage) — with a rich `Person` (identity + activity stats)
- Uses the first image in the post as the social-media image when one is present, falling back to the configured default.
- Optional **indexing controls** — de-index user profile pages, or whole tags (and their discussions), with `noindex, follow` to keep thin/low-value pages out of search results.

> Your `robots.txt` and XML sitemap are provided by [fof/sitemap](https://github.com/FriendsOfFlarum/sitemap). See [Sitemap &amp; robots.txt](https://github.com/FriendsOfFlarum/seo/blob/2.x/docs/sitemap-and-robots.md).

Works with
----------

[](#works-with)

Compatible — but not required — alongside:

- [flarum/likes](https://github.com/flarum/likes) — like counts in the interaction statistics
- [flarum/tags](https://github.com/flarum/tags)
- [fof/best-answer](https://github.com/FriendsOfFlarum/best-answer) — Q&amp;A (`QAPage`) structured data
- [fof/gamification](https://github.com/FriendsOfFlarum/gamification) — per-reply upvote counts in the structured data
- [fof/sitemap](https://github.com/FriendsOfFlarum/sitemap) — sitemap &amp; robots.txt
- [fof/pages](https://github.com/FriendsOfFlarum/pages)
- [fof/discussion-views](https://github.com/FriendsOfFlarum/discussion-views) — view counts in the structured data
- [fof/discussion-language](https://github.com/FriendsOfFlarum/discussion-language) — per-discussion `inLanguage` for multi-language forums

Extending
---------

[](#extending)

Third-party extensions have three integration points:

- **Page drivers** — emit/replace structured data for your own routes by extending `FoF\Seo\Extend\SEO` and implementing `FoF\Seo\Page\PageDriverInterface`.
- **`SeoMeta` objects** — give your own models managed, per-object metadata that appears in the *Configure SEO* dialog.
- **The `PreparingPageMeta` event** — intercept and override the prepared metadata (language, description, any schema.org property) on any page.

See the developer guides for details:

- [SeoMeta objects — developer guide](https://github.com/FriendsOfFlarum/seo/blob/2.x/docs/developers/seometa-objects.md)
- [The `SeoProperties` class](https://github.com/FriendsOfFlarum/seo/blob/2.x/docs/developers/seoproperties.md)
- [Extending &amp; intercepting the metadata](https://github.com/FriendsOfFlarum/seo/blob/2.x/docs/developers/extending-metadata.md)

Credits
-------

[](#credits)

This extension was originally created and maintained by [V17 Development](https://v17.dev) as `v17development/flarum-seo`. FriendsOfFlarum is grateful for their work bringing SEO support to the Flarum ecosystem and continues development with their blessing.

Links
-----

[](#links)

- [Documentation](https://github.com/FriendsOfFlarum/seo/blob/2.x/docs/README.md)
- [Packagist](https://packagist.org/packages/fof/seo)
- [GitHub](https://github.com/FriendsOfFlarum/seo)
- [Issues](https://github.com/FriendsOfFlarum/seo/issues)
- [Support](https://discuss.flarum.org/d/39374)

License
-------

[](#license)

This extension is licensed under the MIT License. See the [LICENSE.md](https://github.com/FriendsOfFlarum/seo/blob/2.x/LICENSE.md) file for details.

###  Health Score

59

—

FairBetter than 98% of packages

Maintenance92

Actively maintained with recent releases

Popularity23

Limited adoption so far

Community23

Small or concentrated contributor base

Maturity87

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 69.9% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~66 days

Recently: every ~0 days

Total

42

Last Release

22d ago

Major Versions

v1.8.1 → v2.02024-10-14

v2.0.9 → 3.0.02026-06-04

3.0.1 → 4.0.0-beta.12026-06-07

2.x-dev → 4.0.0-beta.22026-06-08

1.x-dev → 3.0.42026-06-08

PHP version history (2 changes)v2.0.4PHP ^8.0

3.0.0PHP ^8.2

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/4417659?v=4)[Jasper Vriends](/maintainers/jaspervriends)[@jaspervriends](https://github.com/jaspervriends)

---

Top Contributors

[![jaspervriends](https://avatars.githubusercontent.com/u/4417659?v=4)](https://github.com/jaspervriends "jaspervriends (186 commits)")[![imorland](https://avatars.githubusercontent.com/u/16573496?v=4)](https://github.com/imorland "imorland (35 commits)")[![DavideIadeluca](https://avatars.githubusercontent.com/u/146922689?v=4)](https://github.com/DavideIadeluca "DavideIadeluca (9 commits)")[![rafaucau](https://avatars.githubusercontent.com/u/25438601?v=4)](https://github.com/rafaucau "rafaucau (8 commits)")[![flarum-bot](https://avatars.githubusercontent.com/u/39334649?v=4)](https://github.com/flarum-bot "flarum-bot (7 commits)")[![pboschma](https://avatars.githubusercontent.com/u/25609730?v=4)](https://github.com/pboschma "pboschma (5 commits)")[![luceos](https://avatars.githubusercontent.com/u/504687?v=4)](https://github.com/luceos "luceos (4 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (3 commits)")[![ziymed](https://avatars.githubusercontent.com/u/2720164?v=4)](https://github.com/ziymed "ziymed (2 commits)")[![os555](https://avatars.githubusercontent.com/u/4261168?v=4)](https://github.com/os555 "os555 (2 commits)")[![mbakirov](https://avatars.githubusercontent.com/u/1270314?v=4)](https://github.com/mbakirov "mbakirov (1 commits)")[![ahrasis](https://avatars.githubusercontent.com/u/2795588?v=4)](https://github.com/ahrasis "ahrasis (1 commits)")[![Gasjki](https://avatars.githubusercontent.com/u/4936352?v=4)](https://github.com/Gasjki "Gasjki (1 commits)")[![davwheat](https://avatars.githubusercontent.com/u/7406822?v=4)](https://github.com/davwheat "davwheat (1 commits)")[![maicol07](https://avatars.githubusercontent.com/u/9463142?v=4)](https://github.com/maicol07 "maicol07 (1 commits)")

---

Tags

flagrowflarumflarum-forumflarum-seoseo-tags

### Embed Badge

![Health badge](/badges/jaspervriends-flarum-seo/health.svg)

```
[![Health](https://phpackages.com/badges/jaspervriends-flarum-seo/health.svg)](https://phpackages.com/packages/jaspervriends-flarum-seo)
```

###  Alternatives

[fof/byobu

Well integrated, advanced private discussions.

59112.4k12](/packages/fof-byobu)[v17development/flarum-blog

Adds a blog section to your forum

5187.6k6](/packages/v17development-flarum-blog)[fof/discussion-language

Specify the language a discussion is written in &amp; sort by language

1032.0k3](/packages/fof-discussion-language)[flarum-lang/russian

Russian language pack for Flarum.

12127.5k](/packages/flarum-lang-russian)[michaelbelgium/mybb-to-flarum

Migrate a MyBB Forum to a fresh Flarum instance

261.1k](/packages/michaelbelgium-mybb-to-flarum)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
