popsy/laravel-site-map

A popsy/site-map wrapper for Laravel

dev-master 2022-09-13 16:36 UTC

This package is auto-updated.

Last update: 2024-05-13 20:10:25 UTC


README

Laravel wrapper for Sitemap package

Installation

Require this package in your composer.json and update composer.

composer require popsy/laravel-site-map

Add provider to config/app.php

Popsy\LaravelSiteMap\SitemapServiceProvider::class,

You can add alias for Sitemap Facade to config/app.php

'Sitemap' => Popsy\LaravelSiteMap\Facade\Sitemap::class,

You can publish configuration file

php artisan vendor:publish --provider="Popsy\LaravelSiteMap\SitemapServiceProvider"

Usage

Use this data format:

$data = [
    [
        'loc' =>"https://site.ru/",
        'lastmod' =>"2020-12-14",
        'priority' =>1,
        'changefreq' =>"hourly"
    ],
    [
        'loc' =>"https://site.ru/news",
        'lastmod' =>"2020-12-10",
        'priority' =>0.5,
        'changefreq' =>"daily"
    ],
    // .....
];

For example

use Popsy\LaravelSiteMap\Facade\Sitemap;

Sitemap::setType('json')
    ->setData($data)
    ->setFilePath(public_path('sitemap.json'))
    ->generate();

or

public function handle(IGenerator $generator)
{
    $data = [/*....*/];
    $generator
        ->setData($data)
        ->setFilePath(public_path('sitemap.xml'))
        ->generate();
}