Skip to content
Simple crawler and sitemap generator for Laravel. No headless browser - just a crawler.
PHP
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
.gitignore
CONTRIBUTING
LICENSE
README.md
composer.json

README.md

Laravel Sitemap Generator

Latest Stable Version Latest Unstable Version Total Downloads License

A simple website crawler using php-spider and SimpleXMLElement to generate a sitemap.xml-file. The file will be stored in the public/ directory.

The sitemap generator is using the meta tag article:modified_time to identify the last modification. Noindex in robots meta-tag will be considered and the page will be left out. If a canoncial URL is set in the document, this one will be used instead. Priorities are guessed based on the depth of the page in the website.

Please note: This package is in active development and might change as it's been developed. Use with care!

Support

This package supports Laravel 5.5 or newer.

Installation

The package is managed using composer. You can install it using

composer require bringyourownideas/laravel-sitemap

This ensures you receiving later updates automatically. Alternatively, you can install the package manually (not recommended) using the download functionality on GitHub.

If you aren't using package discovery you will need to register the ServiceProvider manually. To do so, please run:

php artisan vendor:publish --provider="BringYourOwnIdeas\LaravelSitemap\SitemapServiceProvider"

Usage

The package registers a artisan command called generate:sitemap. This triggers a crawl of your site and writing out of the sitemap. For convenience, you can add this to your deployment steps.

Regular updates of the sitemap

If you'd like to update the sitemap.xml regularly, you can add a new line in app/Console/Kernel.php, in the schedule function:

/**
 * Define the application's command schedule.
 *
 * @param  \Illuminate\Console\Scheduling\Schedule  $schedule
 * @return void
 */
protected function schedule(Schedule $schedule)
{
    $schedule->command('generate:sitemap')->daily();

    // ...or with a defined time...

    $schedule->command('generate:sitemap')->daily()->at('02:50');
}

MISC: Future ideas/development, issues, Contributing, License

This package was developed by Peter Thaleikis and is supported by bring your own ideas Ltd.. Bring Your Own Ideas Ltd. helps you to make your project ideas to reality! Get in touch to discuss your new adventure!

bring your own ideas

You can’t perform that action at this time.