Sitemap Generator CLI
v3.0.7
Sitemap Generator CLI
- Mises à jour et support inclus pendant 12 mois
- Clé de licence livrée immédiatement par email
- Garantie satisfait ou remboursé 30 jours
- Documentation complète incluse
- Installation prête pour Composer
Sitemap Generator CLI
Générez des sitemaps produit conformes Google pour des catalogues de millions de SKUs sans faire fondre votre serveur. Ce module remplace le générateur de sitemap natif de Magento par une implémentation en streaming, économe en mémoire, qui tourne en CLI ou sur un cron configurable, auto-split les fichiers à la limite Google de 50 000 URLs, et produit un sitemap index référençant chaque morceau.
Si votre boutique a 50 000 SKUs, le générateur natif suffit. Si vous en avez 200 000, un demi-million, ou plus d'un million de produits, il cesse de suffire : pression mémoire, cron jobs cassés, sitemaps partiels, URLs manquantes. Ce module est la réécriture dont vous avez besoin quand « plus de produits » cesse d'être un bon problème.
À qui ça s'adresse
- Catalogues moyens à grands (100k+ produits) où le générateur de sitemap natif sort en mémoire ou en timeout
- Distributeurs B2B et marketplaces avec des millions de produits nécessitant une régénération hebdomadaire ou quotidienne
- Marchands orientés SEO qui veulent des URLs d'images dans leurs sitemaps (tags
image:image) pour alimenter Google Image search
Bénéfices clés
- Génération XML en streaming — les produits sont traités en batches configurables et écrits sur disque en temps réel. La mémoire reste plate quelle que soit la taille du catalogue ; testé sur des catalogues de 1,6M+ produits.
- Auto-split conforme Google — les sitemaps sont splittés à la limite de 50 000 URLs (configurable) et un sitemap index est généré automatiquement, pour que Search Console accepte tout le set en une seule URL.
- Images produit incluses — tags optionnels
image:imageavec URL et titre du produit, prêts pour Google Image search. - CLI avec progress et ETA —
bin/magento wimakeit:sitemap:productsaffiche une progress bar avec temps écoulé, ETA et utilisation mémoire courante, pour savoir quand 1,6M produits seront finis. - Piloté par cron pour la production — la même logique tourne sur une schedule configurable (défaut : samedi 00:22) et parcourt chaque store actif.
enabled=Yespar défaut pour que ça démarre dès l'installation. - Output par store — les fichiers sont nommés
{prefix}-{store_id}-{n}.xmlet déposés dans un chemin configurable souspub/. Facile à brancher à votre robots.txt ou à votre CDN.
Compatibilité
- Magento 2.4.6 ou supérieur / équivalent Mage-OS
- PHP 8.1, 8.2, 8.3
- Nécessite
wimakeit/module-core3.0 ou supérieur - Ne dépend pas de
magento/module-sitemap— utilise des collections produit directes pour contourner les limites mémoire de ce module - Accès en écriture au chemin de sortie configuré (défaut :
pub/media/sitemap/)
Installez ce module via Composer. Assurez-vous que votre auth.json est configuré avec vos identifiants Wimakeit.
$ composer require wimakeit/module-sitemap-generator-cli:^3.0.7
$ bin/magento setup:upgrade
$ bin/magento setup:di:compile
Installation notes
The standard composer require + setup:upgrade + setup:di:compile flow applies. The points below cover what's specific to this module.
Required dependency
This module requires wimakeit/module-core 3.0 or later. Composer pulls it automatically from the Wimakeit registry as long as the registry is declared in your project's composer.json.
ACL permission
| Resource | Default |
|---|---|
Wimakeit_SitemapGeneratorCli::config (edit Sitemap Generator configuration) | granted to Administrator role only |
Configuration
Go to Stores → Configuration → Wimakeit → Sitemap Generator.
General settings
| Setting | Default |
|---|---|
| Enable | Yes |
| Include Product Images | Yes (adds image:image tags) |
| Batch Size | 1000 products per batch |
| Max URLs Per File | 50000 (Google's per-file limit) |
| Output Path | /media/sitemap/ (relative to pub/) |
| Filename Prefix | products — output: {prefix}-{store_id}-{n}.xml |
Cron settings
| Setting | Default |
|---|---|
| Enable Cron | Yes |
| Cron Schedule | **22 0 6** (Saturday 00:22) |
Cron job (registered automatically)
| Job | Schedule source |
|---|---|
wimakeit_sitemap_generator (group wmi_sitemap_generator) | reads wimakeit_sitemap/cron/schedule from admin config |
No setup needed beyond making sure Magento cron is running. The job walks every active store and writes one set of files per store.
Filesystem prerequisites
The web server user must have write access to the configured output path (default pub/media/sitemap/).
CLI usage
# Basic — all products for store 1
bin/magento wimakeit:sitemap:products
# With options
bin/magento wimakeit:sitemap:products \
--store=1 \
--batch=1000 \
--max-urls=50000 \
--filename=products \
--path=/media/sitemap/ \
--images \
--limit=1000
The --limit flag is useful for staging — generate a partial sitemap to verify XML structure before running against the full catalog.
robots.txt wiring
After the first run, point Google to your sitemap index:
Sitemap: https://your-store.com/media/sitemap/products-1.xml
Replace the path and store ID with whatever you configured.
- Version
- v3.0.7
- Licence
- Abonnement annuel
- Support
- 12 mois
- Dernière mise à jour
- 25 août 2026
- Magento
- Magento 2.4.4 Magento 2.4.5 Magento 2.4.6 Magento 2.4.7 Mage-OS 2.0 Mage-OS 2.1
- PHP
- PHP 8.1 PHP 8.2 PHP 8.3
- Hyvä
- Non compatible
- Package
-
wimakeit/module-sitemap-generator-cli
Vérifier la compatibilité
Indiquez votre stack pour vérifier la compatibilité du module.
Compatibilité 4
Tarification & licence 4
bin/magento module:disable ; le nettoyage est automatique via le revert du setup patch. vendor/wimakeit/ après composer require, donc vous pouvez le lire, l'auditer, et le patcher localement pour votre propre installation Magento. Vous ne pouvez PAS le redistribuer, le sous-licencier, le publier sur un registre Composer public, ou le revendre. 1 licence = 1 domaine production + 1 domaine staging/dev (voir les Conditions Générales pour l'EULA complet). Les modules Wimakeit ne sont PAS sur le packagist.org public — ils sont distribués exclusivement via le registre Composer privé packages.wimakeit.be. Installation & mises à jour 6
composer require wimakeit/module-sitemap-generator-cli:^3.0.4, puis bin/magento setup:upgrade, bin/magento setup:di:compile, et enfin bin/magento cache:flush. L'onglet « Installation » de cette page liste chaque étape de configuration (ACLs, crons, valeurs par défaut) — un déploiement prend quelques minutes, pas des heures. Besoin d'aide ? Wimakeit propose des prestations d'installation Magento depuis notre bureau wallon (Presles, entre Charleroi et Namur). auth.json : {"http-basic": {"packages.wimakeit.be": {"username": "VOTRE-EMAIL", "password": "VOTRE-TOKEN"}}}. Étape 3 : enregistrez le repo : composer config repositories.wimakeit composer https://packages.wimakeit.be. Étape 4 : composer require wimakeit/module-sitemap-generator-cli:^3.0.4. Dans les pipelines CI/CD, injectez COMPOSER_AUTH en variable d'environnement JSON pour éviter de commiter auth.json. composer require, même code module, même schéma de base — pas de fork à maintenir, pas de changement de licence. composer update reste sûr à l'intérieur d'une version majeure. app/design/frontend/{VotreVendor}/{theme}/Wimakeit_{Module}/templates/ en respectant le même chemin relatif. Blocks, ViewModels et Helpers s'override via DI preference dans votre propre module custom — déclarez <preference for="Wimakeit\…\OriginalClass" type="VotreVendor\Override\Class" /> dans etc/di.xml. Le XML layout s'étend (préféré) ou s'override de manière standard Magento. Les modules Wimakeit n'utilisent jamais le keyword final sur les classes que vous pourriez raisonnablement vouloir override — surcharger est un scénario de premier ordre, pas un hack. Support & sécurité 3
contact@wimakeit.com avec le nom du module, sa version, votre version Magento/Mage-OS et les étapes pour reproduire. Les correctifs sont livrés dans le prochain patch. Le support Wimakeit répond en français, anglais et néerlandais en jours ouvrables (horaires CET). contact@wimakeit.com avec le préfixe [SECURITY] dans l'objet — précisez le module, la version et les étapes de reproduction. Accusé de réception en jours ouvrables, mention dans le Changelog sur souhait du déclarant. Wimakeit est une SRL belge (société à responsabilité limitée) soumise au droit belge et européen sur la vie privée et la divulgation responsable. À propos de Wimakeit 1
Quelque chose n'est pas couvert par la FAQ ?
Signalez un bug ou posez une question — le formulaire est pré-rempli avec ce module.
Changelog
Categories: Security, Feature, Fix, Perf, Admin, Deps.
[3.0.6] - 2026-06-05
Deps
- Marketing documentation refreshed to list PHP 8.4 in the supported PHP range.
[3.0.5] - 2026-06-05
Deps
- PHP 8.4 certified — constraint widened to
>=8.1 <8.5.
[3.0.4] - 2026-05-08
Admin
- Admin menu group standardized — module appears under a top-level Wimakeit_SitemapGeneratorCli entry with a Settings child that opens directly on the configuration section.
[3.0.3] - 2026-04-29
Admin
- Internal release pipeline standardized (validate, tag, deploy, release stages). No functional change for merchants.
Deps
- Certified PHP 8.1 → 8.3 support. Composer
phpconstraint tightened to>=8.1 <8.4.
[3.0.2] - 2026-04-07
Admin
- Cron classes migrated to the shared
AbstractCronbase fromwimakeit/module-core— consistent logging (logInfo/logError/logDebug) across all Wimakeit cron jobs.
Deps
- Depends on
wimakeit/module-corefor shared cron and config abstractions.
[3.0.1] - 2026-03-17
Admin
- CLI command migrated to the shared
AbstractCommandbase fromwimakeit/module-core— consistent option handling, progress bar behavior and logging across all Wimakeit CLI commands.
[3.0.0] - 2025-02-12
Feature
- New admin configuration panel under Stores → Configuration → Wimakeit → Sitemap Generator with batch size, max URLs per file, output path, filename prefix, and cron schedule.
- Product image support: optional
image:imageXML tags with image URL and product title, ready for Google Image search. - Automatic sitemap index generation when output exceeds the per-file URL limit.
Perf
- Complete rewrite for catalogs up to 1.6M+ products: streaming XML generation, configurable batch size, flat memory profile.
- Auto-split into multiple files at Google's 50,000-URL limit (configurable).
Admin
- CLI command renamed to
wimakeit:sitemap:productswith progress bar showing elapsed time, ETA and memory usage. - Cron reads its schedule from admin config (
config_path), so changes take effect without code edits. - Default cron schedule: Saturday 00:22 (
22 0 6).
Deps
- Dropped dependency on
icamys/php-sitemap-generator(replaced by in-module streaming writer). - Dropped dependency on
magento/module-sitemap(uses direct product collections instead).
[2.0.0] - 2024-12-15
Feature
- New
wimakeit:sitemap:listcommand to show all configured sitemaps. --storeoption to filter by store ID;--dry-runfor simulation.- Progress bar during sitemap generation and a results table with per-sitemap status.
Fix
- Fixed critical undefined
_objectManageraccess that broke the cron in some setups. - Fixed incorrect
sitemapCollectionFactoryproperty name and a missingNoSuchEntityExceptionimport. - Fixed cron calling a non-existent
generateSitemap()method. - Fixed duplicate command registration in
di.xml.
Admin
- Cron now iterates through all sitemaps with proper per-sitemap error handling.
- Comprehensive logging via
Psr\LoggerInterface.
Deps
- Removed runtime dependency on
wimakeit/module-core(re-added in 3.x for the shared debug logger).
[1.0.0] - 2024-06-20
Feature
- Initial release: CLI command for sitemap generation and cron job for automatic generation.
Vous avez trouvé un bug ? Faites-nous-en part.
Un court formulaire s'ouvre dans un nouvel onglet — le nom du module et votre langue sont déjà pré-remplis. Décrivez ce que vous avez tenté, ce qui n'a pas fonctionné, et nous vous répondrons sous un jour ouvré.
Signaler un bug pour Sitemap Generator CLIBesoin d'aide ?
Notre équipe est disponible pour vous accompagner dans l'intégration.