PHPackages                             saltid/pimcore-seoserpbundle - 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. saltid/pimcore-seoserpbundle

ActivePimcore-bundle[Utility &amp; Helpers](/categories/utility)

saltid/pimcore-seoserpbundle
============================

SEO/SERP Bundle For Pimcore

v1.0.0-beta-1.1(5y ago)0436GPL-3.0-or-laterPHPCI failing

Since Jan 14Pushed 5y ago1 watchersCompare

[ Source](https://github.com/salt-id/pimcore-seoserpbundle)[ Packagist](https://packagist.org/packages/saltid/pimcore-seoserpbundle)[ RSS](/packages/saltid-pimcore-seoserpbundle/feed)WikiDiscussions master Synced today

READMEChangelog (6)Dependencies (2)Versions (13)Used By (0)

SEO/SERP Pimcore
================

[](#seoserp-pimcore)

SEO/SERP Pimcore

Integration into Pimcore
------------------------

[](#integration-into-pimcore)

### Installation and Configuration

[](#installation-and-configuration)

```
# COMPOSER_MEMORY_LIMIT=-1 composer -vvv require saltid/pimcore-seoserpbundle ~1.0@beta
```

Enable bundle via admin or cli after installation, since this bundle is required other bundle (Extension Manager) we need to enable it first

Via Admin Mode :

[![Screen](./docs/img/ENABLE_EXTENSION_MANAGER_BUNDLE.png)](./docs/img/ENABLE_EXTENSION_MANAGER_BUNDLE.png)

[![Screen](./docs/img/ENABLE_EXTENSION_MANAGER_BUNDLE_2.png)](./docs/img/ENABLE_EXTENSION_MANAGER_BUNDLE_2.png)

\*Don't forget to clear cache and reload.

Via CLI :

```
# php bin/console pimcore:bundle:list
```

BundleEnabledInstalledInstallableUninstallableUpdatablePriorityPimcoreEcommerceFrameworkBundle❌❌❌❌❌0ExtensionManagerBundle✔✔❌❌❌10SeoSerpBundle❌❌❌❌❌0```
# php bin/console pimcore:bundle:install ExtensionManagerBundle
# php bin/console pimcore:bundle:enable ExtensionManagerBundle

# php bin/console pimcore:bundle:install SeoSerpBundle
# php bin/console pimcore:bundle:enable SeoSerpBundle
```

[![Screen](./docs/img/ENABLE_EXTENSION_MANAGER_BUNDLE_VIA_CLI.png)](./docs/img/ENABLE_EXTENSION_MANAGER_BUNDLE_VIA_CLI.png)

[![Screen](./docs/img/ENABLE_SEO_SERP_BUNDLE_VIA_CLI.png)](./docs/img/ENABLE_SEO_SERP_BUNDLE_VIA_CLI.png)

Once you've done, you'll see new menu on admin mode

[![Screen](./docs/img/SALT_EXTENSION_MANAGER_MENU.png)](./docs/img/SALT_EXTENSION_MANAGER_MENU.png)

Available menu represented active bundle provide by SALT

[![Screen](./docs/img/SALT_EXTENSION_MANAGER_MENU_AVAILABLE_MENU.png)](./docs/img/SALT_EXTENSION_MANAGER_MENU_AVAILABLE_MENU.png)

### Usage

[](#usage)

Let's assume you have pimcore classes or object that has detail page and route generated by Pimcore Static Route.

Example :

\*In this case (Object Article)

Open Pimcore Classes Editor, and in General Settings of your object add `\SaltId\SeoSerpBundle\Traits\Seoable`

[![Screen](./docs/img/ADD_SEOABLE_TRAIT_IN_YOUR_OBJECT.png)](./docs/img/ADD_SEOABLE_TRAIT_IN_YOUR_OBJECT.png)

Save and open object, there will be new tab of SEO.

[![Screen](./docs/img/SEO_TAB_ADDED_IN_OBJECT.png)](./docs/img/SEO_TAB_ADDED_IN_OBJECT.png)

[![Screen](./docs/img/SEO_TAB_AVAILABLE_FIELD.png)](./docs/img/SEO_TAB_AVAILABLE_FIELD.png)

You can custom title, description &amp; meta tags each object, but in general you can setup the default by using existing field of your object and it will generate automatically.

Open SEO Rule config

[![Screen](./docs/img/SEO_RULE_MENU.png)](./docs/img/SEO_RULE_MENU.png)

Add Seo Rule

[![Screen](./docs/img/ADD_SEO_RULE.png)](./docs/img/ADD_SEO_RULE.png)

Set the default title, description, or meta tags

[![Screen](./docs/img/SEO_RULE_FIELDS.png)](./docs/img/SEO_RULE_FIELDS.png)

FieldDescriptionNameName of SEO Rule, can be anything.Route NameRoute Name of your Static Routes configuration.Route VariableRoute Variable of your Static Routes configuration.Class NameYour class name or object you wantedClass FieldYour class field as a getter it will be matching with route variablesActiveSEO Rule active statusTitleWebsite title ``, you can use existing field of your object**IMPORTANT Notes** :

- Do not hardcoded html title tag `` in your layout use `` instead.
- Do not hardcoded html meta tag that related with SEO in your layout use `` instead.

Example output generated by SEO Rule (Default) :

[![Screen](./docs/img/EXAMPLE_OUTPUT_1.png)](./docs/img/EXAMPLE_OUTPUT_1.png)

Custom directly in object.

[![Screen](./docs/img/CUSTOM_DIRECT_IN_OBJECT.png)](./docs/img/CUSTOM_DIRECT_IN_OBJECT.png)

Example output generated by custom directly in object :

[![Screen](./docs/img/EXAMPLE_OUTPUT_2.png)](./docs/img/EXAMPLE_OUTPUT_2.png)

Meta tag description content by field description in Article object

[![Screen](./docs/img/META_TAG_DESCRIPTION_BY_FIELD_DESCRIPTION.png)](./docs/img/META_TAG_DESCRIPTION_BY_FIELD_DESCRIPTION.png)

Example output meta tag description generated by SEO Rule (Default) :

[![Screen](./docs/img/EXAMPLE_OUTPUT_3.png)](./docs/img/EXAMPLE_OUTPUT_3.png)

Lets change the description, save and published it.

[![Screen](./docs/img/CHANGE_DESCRIPTION.png)](./docs/img/CHANGE_DESCRIPTION.png)

Now refresh the detail page, meta tag description will be updated automatically.

[![Screen](./docs/img/EXAMPLE_OUTPUT_4.png)](./docs/img/EXAMPLE_OUTPUT_4.png)

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity50

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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 ~21 days

Recently: every ~30 days

Total

9

Last Release

2138d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/b3abf049803b6bb83e97db18fd88866e6b29f234c64c278b7abe9bbf3bb534b6?d=identicon)[yuliusardian](/maintainers/yuliusardian)

---

Top Contributors

[![yuliusardian](https://avatars.githubusercontent.com/u/6629384?v=4)](https://github.com/yuliusardian "yuliusardian (16 commits)")

### Embed Badge

![Health badge](/badges/saltid-pimcore-seoserpbundle/health.svg)

```
[![Health](https://phpackages.com/badges/saltid-pimcore-seoserpbundle/health.svg)](https://phpackages.com/packages/saltid-pimcore-seoserpbundle)
```

###  Alternatives

[dachcom-digital/formbuilder

Pimcore FormBuilder - create forms easily!

96269.7k](/packages/dachcom-digital-formbuilder)[elements/process-manager-bundle

The Process Manager allows you to manage (define,execute...) arbitrary processes/commands in the Pimcore backend.

49633.0k5](/packages/elements-process-manager-bundle)[pimcore/data-importer

Adds a comprehensive import functionality to Pimcore Datahub

44763.4k2](/packages/pimcore-data-importer)[pimcore/output-data-config-toolkit-bundle

21256.8k3](/packages/pimcore-output-data-config-toolkit-bundle)[instride/data-definitions

Data Definitions allows you to define your DataObject Imports and Exports using a nice GUI and re-run the definitions as often you like.

8117.7k](/packages/instride-data-definitions)[pimcore/object-merger

13550.4k1](/packages/pimcore-object-merger)

PHPackages © 2026

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