PHPackages                             valantic-spryker/sitemap-storage - 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. [Caching](/categories/caching)
4. /
5. valantic-spryker/sitemap-storage

ActiveLibrary[Caching](/categories/caching)

valantic-spryker/sitemap-storage
================================

Add functionality to retrieve sitemap data from storage (Redis).

00PHP

Since Feb 21Pushed 1y ago7 watchersCompare

[ Source](https://github.com/valantic-CEC-Deutschland-GmbH/sitemap-storage)[ Packagist](https://packagist.org/packages/valantic-spryker/sitemap-storage)[ RSS](/packages/valantic-spryker-sitemap-storage/feed)WikiDiscussions main Synced 2w ago

READMEChangelogDependenciesVersions (1)Used By (0)

Sitemap Storage
===============

[](#sitemap-storage)

Description
===========

[](#description)

Adds functionality to publish and retrieve sitemap data from storage (Redis). The data is stored in DB and synced to Redis for faster retrieval.

> ⚠️ This package does not support Spryker setups that have different Redis instances for different stores

Installation
============

[](#installation)

1. `composer require valantic-spryker/sitemap-storage`
2. Since this module is under `ValanticSpryker` namespace, make sure that in `config_default`:
    1. `$config[KernelConstants::CORE_NAMESPACES]` has the namespace
    2. `$config[KernelConstants::PROJECT_NAMESPACES]` has the namespace
3. Run `console propel:install` to install the `val_sitemap_storage` table.

4. Add relevant queues to `QueueDependencyProvider`:
----------------------------------------------------

[](#4-add-relevant-queues-to-queuedependencyprovider)

```
     protected function getProcessorMessagePlugins(Container $container): array
    {
        return [
            // ...
            SitemapStorageConfig::PUBLISH_SITEMAP => new EventQueueMessageProcessorPlugin(),
            SitemapStorageConfig::SITEMAP_SYNC_STORAGE_QUEUE => new SynchronizationStorageQueueMessageProcessorPlugin(),
        ];
    }
```

5. Register `SitemapStorageEventSubscriber`
-------------------------------------------

[](#5-register-sitemapstorageeventsubscriber)

Add

```
ValanticSpryker\Zed\SitemapStorage\Communication\Plugin\Event\Subscriber\SitemapStorageEventSubscriber
```

in

```
\Pyz\Zed\Event\EventDependencyProvider::getEventSubscriberCollection
```

to handle all publish and unpublish events:

```
public function getEventSubscriberCollection(): EventSubscriberCollectionInterface
{
    $eventSubscriberCollection = parent::getEventSubscriberCollection();
    // ...
    $eventSubscriberCollection->add(new SitemapStorageEventSubscriber());
}
```

6. Enable `SitemapStorageClient`
--------------------------------

[](#6-enable-sitemapstorageclient)

Since `SitemapStorageClient` implements the same interface as `SitemapClient`, both clients can be used interchangeably.

So to make the main Sitemap module retrieve data from Redis, the `SitemapStorageClient` needs to be switched with regular `SitemapClient` in:

```
\ValanticSpryker\Yves\Sitemap\SitemapDependencyProvider
```

```
protected function addSitemapClient(Container $container): void
{
    $container->set(static::CLIENT_SITEMAP, static function (Container $container): SitemapClientInterface {
        return $container->getLocator()->sitemapStorage()->client();
    });
}
```

Now the `SitemapStorageClient` is used instead, and it takes care of retrieving the data from Redis and mapping to correct transfer.

7. Add queue configuration to `\Pyz\Client\RabbitMq\RabbitMqConfig`
-------------------------------------------------------------------

[](#7-add-queue-configuration-to-pyzclientrabbitmqrabbitmqconfig)

```
    protected function getPyzPublishQueueConfiguration(): array
    {
        return [
            // [...]
            SitemapStorageConfig::PUBLISH_SITEMAP,
        ];
    }

    protected function getPyzSynchronizationQueueConfiguration(): array
    {
        return [
            // [...]
            SitemapStorageConfig::SITEMAP_SYNC_STORAGE_QUEUE,
        ];
    }
```

###  Health Score

15

—

LowBetter than 3% of packages

Maintenance28

Infrequent updates — may be unmaintained

Popularity0

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity20

Early-stage or recently created project

 Bus Factor1

Top contributor holds 80% 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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/38a6621b395917bb33ea0dd7970ae8a6295c972e40c26b04d923a3c625abd043?d=identicon)[nxs\_schoenfeld](/maintainers/nxs_schoenfeld)

---

Top Contributors

[![NerijusNoreika](https://avatars.githubusercontent.com/u/7057307?v=4)](https://github.com/NerijusNoreika "NerijusNoreika (8 commits)")[![edvinas-aleksejonokas-valantic](https://avatars.githubusercontent.com/u/218493650?v=4)](https://github.com/edvinas-aleksejonokas-valantic "edvinas-aleksejonokas-valantic (1 commits)")[![rezonanc-valantic](https://avatars.githubusercontent.com/u/218493650?v=4)](https://github.com/rezonanc-valantic "rezonanc-valantic (1 commits)")

### Embed Badge

![Health badge](/badges/valantic-spryker-sitemap-storage/health.svg)

```
[![Health](https://phpackages.com/badges/valantic-spryker-sitemap-storage/health.svg)](https://phpackages.com/packages/valantic-spryker-sitemap-storage)
```

###  Alternatives

[iazaran/smart-cache

Smart Cache is a caching optimization package designed to enhance the way your Laravel application handles data caching. It intelligently manages large data sets by compressing, chunking, or applying other optimization strategies to keep your application performant and efficient.

21114.2k](/packages/iazaran-smart-cache)[ichhabrecht/intcache

Turn uncachable page objects into cacheable links

193.9k](/packages/ichhabrecht-intcache)

PHPackages © 2026

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