PHP code example of the_elephpant / laravel-xml-sitemap
1. Go to this page and download the library: Download the_elephpant/laravel-xml-sitemap library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
the_elephpant / laravel-xml-sitemap example snippets
Helldar\Sitemap\ServiceProvider::class,
'models' => [
\App\User::class => [
'route' => 'route.name',
'route_parameters' => [
'slug' => 'table_field_for_slug',
'foo' => 'table_field_for_foo',
bar' => 'my_relation.slug',
'baz',
],
'lastmod' => 'updated_at',
'frequency' => 'daily',
'priority' => 0.8,
],
]
use Carbon\Carbon;
use Helldar\Sitemap\Helpers\Variables;
use Helldar\Sitemap\Services\Sitemap;
$items_a = [];
$items_b = [];
for ($i = 0; $i < 3; $i++) {
$item = app('sitemap')->makeItem()
->changefreq('weekly')
->lastmod(Carbon::now())
->loc("http://mysite.local/page/" . $i);
array_push($items_a, $item);
}
for ($i = 0; $i < 3; $i++) {
$item = app('sitemap')->makeItem()
->changefreq(Variables::FREQUENCY_WEEKLY)
->lastmod(Carbon::now())
->loc("http://mysite.local/offers/" . $i);
array_push($items_b, $item);
}
return app('sitemap')
->manual($items_a, $items_b)
->show();
$query1 = \App\Catalog::query()->where('id', '>', '1000');
$query2 = \App\News::query()->where('category_id', 10);
$query3 = \App\Pages::query();
return app('sitemap')
->builders($query1, $query2, $query3)
->manual($items1, $items2, $items3)
->show();
use Helldar\Sitemap\Services\Sitemap;
$items = [];
for ($i = 0; $i < 2; $i++) {
$item = app('sitemap')->makeImages()
->loc("http://mysite.local/page/" . $i)
->image("http://mysite.local/images/1.jpg", "My Title 1-".$i, "Caption for image", "Limerick, Ireland", "Royalty free")
->image("http://mysite.local/images/2.jpg", "My Title 2-".$i)
->image("http://mysite.local/images/3.jpg");
array_push($items, $item);
}
return app('sitemap')
->images($items)
->show();
// Will show the image map.
return app('sitemap')
->images($items)
->show();
// Shows the map for `builders`. The image map will be ignored.
return app('sitemap')
->builders($query1, $query2, $query3)
->images($items)
->show();
$query1 = \App\Catalog::query()->where('id', '>', '1000');
$query2 = \App\News::query()->where('category_id', 10);
$query3 = \App\Pages::query();
return app('sitemap')
->builders($query1, $query2, $query3)
->show();
app('route')->get('sitemap', function() {
$query1 = \App\Catalog::query()->where('id', '>', '1000');
$query2 = \App\News::query()->where('category_id', 10);
$query3 = \App\Pages::query();
return app('sitemap')
->builders($query1, $query2, $query3)
->show();
});
$query1 = \App\Catalog::query()->where('id', '>', '1000');
$query2 = \App\News::query()->where('category_id', 10);
$query3 = \App\Pages::query();
app('sitemap')
->builders($query1, $query2, $query3)
->save();
$query1 = \App\Catalog::query()->where('id', '>', '1000');
$query2 = \App\News::query()->where('category_id', 10);
$query3 = \App\Pages::query();
app('sitemap')
->builders($query1, $query2, $query3)
->save('sitemap-1.xml');
app('sitemap')
->builders($query1, $query2, $query3)
->save('foo/bar/sitemap-2.xml');
$query1 = \App\Catalog::query()->where('id', '>', '1000');
$query2 = \App\News::query()->where('category_id', 10);
$query3 = \App\Pages::query();
app('sitemap')
->builders($query1, $query2, $query3)
->save();
'domains' => [
'foo' => env('APP_URL'), // http://example.com
'bar' => 'http://foo.bar',
],
app('sitemap')
->builders($query1, $query2, $query3)
->domain('foo')
->save();
app('sitemap')
->builders($query1, $query2, $query3)
->domain('bar')
->save();
$query1 = \App\Catalog::query()->where('id', '>', '1000');
$query2 = \App\News::query()->where('category_id', 10);
$query3 = \App\Pages::query();
$manual_items = [];
for ($i = 0; $i < 3; $i++) {
$item = app('sitemap')->makeItem()
->changefreq('weekly')
->lastmod(Carbon\Carbon::now())
->loc("http://mysite.local/page/" . $i);
array_push($manual_items, $item);
}
app('sitemap')
->builders($query1, $query2, $query3)
->manual($manual_items)
->save(public_path('first.xml'));
app('sitemap')
->builders($query1, $query2, $query3)
->manual($manual_items)
->save(storage_path('foo/bar/second.xml'));
php artisan vendor:publish --provider="Helldar\Sitemap\ServiceProvider"
xml
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<changefreq>weekly</changefreq>
<lastmod>2018-03-06T12:30:17+03:00</lastmod>
<loc>http://mysite.local/page/0</loc>
<priority>0.5</priority>
</url>
<url>
<changefreq>weekly</changefreq>
<lastmod>2018-03-06T12:38:24+03:00</lastmod>
<loc>http://mysite.local/page/1</loc>
<priority>0.5</priority>
</url>
<url>
<changefreq>weekly</changefreq>
<lastmod>2018-03-06T12:30:17+03:00</lastmod>
<loc>http://mysite.local/page/2</loc>
<priority>0.5</priority>
</url>
<url>
<changefreq>weekly</changefreq>
<lastmod>2018-03-06T12:30:17+03:00</lastmod>
<loc>http://mysite.local/offers/0</loc>
<priority>0.5</priority>
</url>
<url>
<changefreq>weekly</changefreq>
<lastmod>2018-03-06T12:38:24+03:00</lastmod>
<loc>http://mysite.local/offers/1</loc>
<priority>0.5</priority>
</url>
<url>
<changefreq>weekly</changefreq>
<lastmod>2018-03-06T12:30:17+03:00</lastmod>
<loc>http://mysite.local/offers/2</loc>
<priority>0.5</priority>
</url>
</urlset>