Statistics
2
1
0
25d
Badges
Dependencies

Sitemap generator

Integrity check

Simple sitemap generator with robust and performance implementation.

  • Generates a standardized site map in XML format,
  • Allows custom implementation of UrlLoader and specification of custom link sources,
  • The generated map is automatically cached and updated without the need to use cron.

Basic description

The package automatically generates a site map as a sitemap.xml file with the following structure:

<urlset xmlns = "http://www.sitemaps.org/schemas/sitemap/0.9">
    <url>
        <loc>
            https://... // Here will be the whole absolute path
        </loc>
        <changefreq>weekly</changefreq>
        <priority>0.5</priority>
    </url>
</urlset>

URLs are retrieved from the abstract SitemapUrlLoader service, which can be overloaded and otherwise implemented. UrlLoader returns the entity field SitemapItems[] with the getUrls() method.

It adds its own presenter to the administration, which shows the current form and structure of the file.

Installation

Composer:

$ composer require baraja-core/sitemap

The routing rule and services are registered automatically.

After installation, you must define an UrlLoader in the package, which gets a list of all available URLs and passes it on for rendering. You can use another existing library as the UrlLoader.

Getting a list of URLs

The package does not include the default implementation of UrlLoader, and each project must implement it itself.

The class must contain a public getUrls() method that returns an array of SitemapItem[] instances.

Getting sitemap + cache

The package does not create any physical sitemap file, because it runs a PHP script with each request. In order not to always have to perform complex mapping, the package itself will use a cache with a default validity of 5 minutes.

The cache length setting can be affected by the neon configuration file:

sitemap:
    cacheExpirationTime: '20 minutes'

📄 License

baraja-core/sitemap is licensed under the MIT license. See the LICENSE file for more details.

Is this addon outdated? Did you find an issue? Please report it.

Componette Componette admin@componette.com