{"id":18445509,"url":"https://github.com/larapulse/sitemap-bundle","last_synced_at":"2026-05-16T11:02:19.074Z","repository":{"id":57011797,"uuid":"111804607","full_name":"larapulse/sitemap-bundle","owner":"larapulse","description":"Provides a way to generate a sitemap as well as for static and dynamic routes, which require Propel, Doctrine, etc.","archived":false,"fork":false,"pushed_at":"2017-11-29T16:26:09.000Z","size":99,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-10-23T18:42:40.585Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/larapulse.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"docs/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-11-23T12:04:12.000Z","updated_at":"2018-04-21T19:07:47.000Z","dependencies_parsed_at":"2022-08-21T13:40:48.105Z","dependency_job_id":null,"html_url":"https://github.com/larapulse/sitemap-bundle","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/larapulse/sitemap-bundle","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/larapulse%2Fsitemap-bundle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/larapulse%2Fsitemap-bundle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/larapulse%2Fsitemap-bundle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/larapulse%2Fsitemap-bundle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/larapulse","download_url":"https://codeload.github.com/larapulse/sitemap-bundle/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/larapulse%2Fsitemap-bundle/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33100319,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-16T04:41:52.686Z","status":"ssl_error","status_checked_at":"2026-05-16T04:41:52.009Z","response_time":115,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-06T07:06:12.690Z","updated_at":"2026-05-16T11:02:19.057Z","avatar_url":"https://github.com/larapulse.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SitemapBundle\n\n[![Latest Version on Packagist][ico-version]][link-packagist]\n[![Software License][ico-license]](LICENSE.md)\n[![Build Status][ico-travis]][link-travis]\n[![SensioLabs Insight][ico-sensio]][link-sensio]\n[![SensioLabsInsight][ico-sensiolab]][link-sensio]\n[![Coverage Status][ico-scrutinizer]][link-scrutinizer]\n[![Quality Score][ico-code-quality]][link-code-quality]\n\u003c!-- [![Total Downloads][ico-downloads]][link-downloads] --\u003e\n\nThis Bundle provides a way to create a xml sitemap using any source\nyou want (Doctrine, Propel, MongoDB, Faker, etc.).\n\nThis bundle aims to generate standards compliant sitemaps. For more information\nabout sitemaps go to [sitemaps.org](http://www.sitemaps.org/).\n\nThe sitemap generation part is handled by the [SitemapGenerator](https://github.com/sitemap-php/SitemapGenerator)\nlibrary, this bundle eases its integration into a Symfony2 application.\n\n## Main features\n\n  * static sitemap generation\n  * dynamic sitemap generation\n  * sitemap index generation\n  * memory efficient\n  * datasource independent\n  * support for media content (currently images and videos)\n\n***\n\n## Install\n\nVia Composer\n\n``` bash\n$ composer require larapulse/sitemap-bundle\n```\n\nRegister the `SitemapBundle` in `app/AppKernel.php`:\n\n```php\n# app/AppKernel.php\npublic function registerBundles()\n{\n    $bundles = [\n        // ...\n        new Larapulse\\SitemapBundle\\LarapulseSitemapBundle(),\n    ];\n}\n```\n\n***\n\n## Configuration\n\nAdd the following options to `app/config/config.yml` file:\n\n```yaml\nlarapulse_sitemap:\n    base_host:         http://www.foo.com\n    base_host_sitemap: http://www.foo.com\n    limit:             50000\n```\n\n**Note:**\n\n* The `base_host` will be prepended to relative urls added to the sitemap.\n* The `base_host_sitemap` will be prepended to the sitemap filename (used for sitemap index)\n* The `limit` is the number of url allowed in the same sitemap, if defined it will create a sitemap index\n\n#### Routing\n\nIf you don't want to use the console to generate the sitemap, import the\nroutes:\n\n```yaml\nlarapulse_sitemap:\n    resource: \"@LarapulseSitemapBundle/Resources/config/routing.yml\"\n```\n\nThis will make the sitemap available from the `/sitemap.xml` URL.\n\n***\n\n## Usage\n\nAdd this line `/web/sitemap.xml*` to your `.gitignore` to prevent tracking `sitemap.xml` files by version control system.\n\n### Providers\n\nIn order to support any kind of datasource, the sitemap uses providers to fetch\nthe data.\n\nExemple provider:\n\n```php\n\u003c?php\n\nnamespace SitemapGenerator\\Provider;\n\nuse SitemapGenerator\\Entity\\Url;\nuse SitemapGenerator\\Provider\\ProviderInterface;\nuse SitemapGenerator\\Sitemap\\Sitemap;\n\nclass CustomProvider implements ProviderInterface\n{\n    public function populate(Sitemap $sitemap)\n    {\n        $url = new Url();\n        $url-\u003esetLoc('http://www.google.de');\n        $url-\u003esetChangefreq(Url::CHANGEFREQ_NEVER);\n        $url-\u003esetLastmod('2012-12-19 02:28');\n        $sitemap-\u003eadd($url);\n    }\n}\n```\n\nAll the providers implement the `ProviderInterface`, which define the\n`populate()` method.\n\n**Note**: so they can be automatically used by the sitemap, providers have to be\ndescribed in the DIC with the `sitemap.provider` tag:\n\n```yaml\nservices:\n    sitemap_custom_provider:\n        class: SitemapGenerator\\Provider\\CustomProvider\n        tags:\n            -  { name: sitemap.provider }\n```\n\nAll the services tagged as `sitemap.provider` will be used to generate the\nsitemap.\n\n#### Simple provider\n\nA provider to add static routes into the sitemap easily.\n\n```yaml\nparameters:\n    sitemap.simple_options:\n        routes:\n            - {name: homepage}\n            - name: foo\n              params: {foo: bar}\n              lastmod: '2017-11-23'\n              changefreq: monthly\n              priority: 0.5\n        # the following parameters are optionnal\n        lastmod:        '2015-01-01'\n        changefreq:     never\n        priority:       0.2\n\nservices:\n    sitemap_simple_provider:\n        class:      SitemapGenerator\\Provider\\SimpleProvider\n        arguments:  [ @router, %sitemap.simple_options% ]\n        tags:\n            -  { name: sitemap.provider }\n```\n\n\n#### Propel provider\n\nA propel provider is included in the bundle. It allows to populate a sitemap\nwith the content of a table.\n\nHere is how you would configure the provider:\n\n```yaml\n# app/config/parameters.yml\nparameters:\n    sitemap.propel_options:\n        model:      ACME\\DemoBundle\\Model\\News\n        # /news/{id}\n        loc:        {route: news_show, params: {id: slug}}\n        # the following parameters are optionnal\n        filters:    ['filterByIsValid']\n        lastmod:    date\n        changefreq: daily\n        priority:   0.2\n\n# app/config/services.yml\nservices:\n    sitemap_propel_provider:\n        class:      SitemapGenerator\\Provider\\PropelProvider\n        arguments:  \n            - \"@router\"\n            - \"%sitemap.propel_options%\"\n        tags:\n            -  { name: sitemap.provider }\n```\n\n\n#### Doctrine provider\n\nA doctrine provider is included in the bundle. It allows to populate a sitemap\nwith the content of a table.\n\nHere is how you would configure the provider:\n\n```yaml\n# app/config/parameters.yml\nparameters:\n    sitemap.doctrine_options:\n        entity:         AcmeDemoBundle:News\n        # /news/{id}\n        loc:            {route: news_show, params: {id: slug}}\n        # the following parameters are optionnal\n        query_method:   findValidQuery\n        lastmod:        updatedAt\n        changefreq:     daily\n        priority:       0.2\n\n# app/config/services.yml\nservices:\n    sitemap_doctrine_provider:\n        class:      SitemapGenerator\\Provider\\DoctrineProvider\n        arguments:\n            - \"@doctrine.orm.entity_manager\"\n            - \"@router\"\n            - \"%sitemap.doctrine_options%\"\n        tags:\n            -  { name: sitemap.provider }\n```\n\n***\n\n## Change log\n\nPlease see [CHANGELOG](docs/CHANGELOG.md) for more information on what has changed recently.\n\n## Testing\n\n``` bash\n$ composer test\n```\n\n## Contributing\n\nPlease see [CONTRIBUTING](docs/CONTRIBUTING.md) and [CODE_OF_CONDUCT](docs/CODE_OF_CONDUCT.md) for details.\n\n## Security\n\nIf you discover any security related issues, please email :author_email instead of using the issue tracker.\n\n## Credits\n\n- [Sergey Podgornyy][link-author]\n- [All Contributors][link-contributors]\n\n## License\n\nThe MIT License (MIT). Please see [License File](LICENSE.md) for more information.\nThis project was forked from [sitemap-php/KPhoenSitemapBundle](https://github.com/sitemap-php/KPhoenSitemapBundle/)\n\n[ico-version]: https://img.shields.io/packagist/v/larapulse/sitemap-bundle.svg?style=flat\n[ico-license]: https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat\n[ico-travis]: https://img.shields.io/travis/larapulse/sitemap-bundle/master.svg?style=flat\n[ico-sensio]: https://img.shields.io/sensiolabs/i/1dc1c0d0-b27d-4481-a751-0fad311682b7.svg?style=flat\n[ico-sensiolab]: https://insight.sensiolabs.com/projects/1dc1c0d0-b27d-4481-a751-0fad311682b7/mini.png\n[ico-scrutinizer]: https://img.shields.io/scrutinizer/coverage/g/larapulse/sitemap-bundle.svg?style=flat\n[ico-code-quality]: https://img.shields.io/scrutinizer/g/larapulse/sitemap-bundle.svg?style=flat\n[ico-downloads]: https://img.shields.io/packagist/dt/larapulse/sitemap-bundle.svg?style=flat\n\n[link-packagist]: https://packagist.org/packages/larapulse/sitemap-bundle\n[link-travis]: https://travis-ci.org/larapulse/sitemap-bundle\n[link-sensio]: https://insight.sensiolabs.com/projects/1dc1c0d0-b27d-4481-a751-0fad311682b7\n[link-scrutinizer]: https://scrutinizer-ci.com/g/larapulse/sitemap-bundle/code-structure\n[link-code-quality]: https://scrutinizer-ci.com/g/larapulse/sitemap-bundle\n[link-downloads]: https://packagist.org/packages/larapulse/sitemap-bundle\n[link-author]: https://github.com/SergeyPodgornyy\n[link-contributors]: ../../contributors\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flarapulse%2Fsitemap-bundle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flarapulse%2Fsitemap-bundle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flarapulse%2Fsitemap-bundle/lists"}