clumsy / sitemap
Sitemap generator for Laravel projects
Installs: 1 548
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 1
Open Issues: 0
pkg:composer/clumsy/sitemap
Requires
- laravel/framework: >=5.1
README
Simple sitemaps for Laravel projects
Installing
Use Composer to install:
composer require clumsy/sitemap
In the config/app.php file, add this to the providers key:
Clumsy\Sitemap\SitemapServiceProvider::class,
Usage
The package automatically creates a route to resolve http://example.com/sitemap.xml. If there are no URLs to insert on your sitemap.xml or an error occurs while parsing them, a 404 error will be thrown on that route.
In order to add URLs to your sitemap, add a sitemap.php file inside the routes folder of your Laravel app. Inside, return an array with the desired URLs. For example:
<?php return [ url('/') ];
This will yield the following entry in your sitemap.xml:
...
<url>
<loc>http://workbench.local</loc>
</url>
...
To add tags to the URLs, make the array associative, using the links key as your collection of URLs:
<?php return [ 'changefreq' => 'monthly', 'priority' => '0.8', 'lastmod' => '2016-08-04', 'links' => [ url('/'), ] ];
If you want different URLs to have different values for the supporting tags, use more than one array:
<?php return [ [ 'changefreq' => 'daily', 'priority' => '1.0', 'links' => [ App\Models\Resource::where('active', true)->get()->pluck('permalink'), ], ], [ 'changefreq' => 'monthly', 'priority' => '0.8', 'lastmod' => '2016-08-04', 'links' => [ url('/'), ], ], ];
Customizing
You can optionally edit the path of the sitemap.php file which will contain your URLs and attach middleware to the sitemap route by publishing the default config to your local app:
php artisan vendor:publish --provider="Clumsy\Sitemap\SitemapServiceProvider" --tag=config
Legacy
For Laravel 4.1 or 4.2 projects, use the 0.1 branch. The 0.3 branch introduced a new default location of the sitemap.php file to be more consistent with the file structure of Laravel 5.3.
Learn more
Visit sitemaps.org for more info on the protocol.