Update (sitemap)
This commit is contained in:
25
app/Helpers/FirstParty/SitemapCrawler/CustomCrawlProfile.php
Normal file
25
app/Helpers/FirstParty/SitemapCrawler/CustomCrawlProfile.php
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Helpers\FirstParty\SitemapCrawler;
|
||||||
|
|
||||||
|
use Spatie\Crawler\CrawlProfiles\CrawlProfile;
|
||||||
|
use Psr\Http\Message\UriInterface;
|
||||||
|
|
||||||
|
class CustomCrawlProfile extends CrawlProfile
|
||||||
|
{
|
||||||
|
public function shouldCrawl(UriInterface $url): bool
|
||||||
|
{
|
||||||
|
// Check if the host is not 'localhost'
|
||||||
|
if ($url->getHost() !== 'localhost') {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check if there are query parameters in the URL
|
||||||
|
if ($url->getQuery() !== '') {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check if the path is exactly '/'
|
||||||
|
return $url->getPath() === '/';
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use App\Helpers\FirstParty\SitemapCrawler\CustomCrawlProfile;
|
||||||
use GuzzleHttp\RequestOptions;
|
use GuzzleHttp\RequestOptions;
|
||||||
use Spatie\Sitemap\Crawler\Profile;
|
use Spatie\Sitemap\Crawler\Profile;
|
||||||
|
|
||||||
@@ -52,6 +53,6 @@
|
|||||||
* The sitemap generator uses a CrawlProfile implementation to determine
|
* The sitemap generator uses a CrawlProfile implementation to determine
|
||||||
* which urls should be crawled for the sitemap.
|
* which urls should be crawled for the sitemap.
|
||||||
*/
|
*/
|
||||||
'crawl_profile' => Profile::class,
|
'crawl_profile' => CustomCrawlProfile::class,
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|||||||
17
resources/views/vendor/sitemap/image.blade.php
vendored
Normal file
17
resources/views/vendor/sitemap/image.blade.php
vendored
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
<image:image>
|
||||||
|
@if (! empty($image->url))
|
||||||
|
<image:loc>{{ url($image->url) }}</image:loc>
|
||||||
|
@endif
|
||||||
|
@if (! empty($image->caption))
|
||||||
|
<image:caption>{{ $image->caption }}</image:caption>
|
||||||
|
@endif
|
||||||
|
@if (! empty($image->geo_location))
|
||||||
|
<image:geo_location>{{ $image->geo_location }}</image:geo_location>
|
||||||
|
@endif
|
||||||
|
@if (! empty($image->title))
|
||||||
|
<image:title>{{ $image->title }}</image:title>
|
||||||
|
@endif
|
||||||
|
@if (! empty($image->license))
|
||||||
|
<image:license>{{ $image->license }}</image:license>
|
||||||
|
@endif
|
||||||
|
</image:image>
|
||||||
11
resources/views/vendor/sitemap/news.blade.php
vendored
Normal file
11
resources/views/vendor/sitemap/news.blade.php
vendored
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
<news:news>
|
||||||
|
<news:publication>
|
||||||
|
<news:name>{{ $news->name }}</news:name>
|
||||||
|
<news:language>{{ $news->language }}</news:language>
|
||||||
|
</news:publication>
|
||||||
|
<news:title>{{ $news->title }}</news:title>
|
||||||
|
<news:publication_date>{{ $news->publicationDate->toW3cString() }}</news:publication_date>
|
||||||
|
@foreach($news->options as $tag => $value)
|
||||||
|
<news:{{$tag}}>{{$value}}</news:{{$tag}}>
|
||||||
|
@endforeach
|
||||||
|
</news:news>
|
||||||
6
resources/views/vendor/sitemap/sitemap.blade.php
vendored
Normal file
6
resources/views/vendor/sitemap/sitemap.blade.php
vendored
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
<?= '<'.'?'.'xml version="1.0" encoding="UTF-8"?>'."\n"; ?>
|
||||||
|
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9">
|
||||||
|
@foreach($tags as $tag)
|
||||||
|
@include('sitemap::' . $tag->getType())
|
||||||
|
@endforeach
|
||||||
|
</urlset>
|
||||||
6
resources/views/vendor/sitemap/sitemapIndex/index.blade.php
vendored
Normal file
6
resources/views/vendor/sitemap/sitemapIndex/index.blade.php
vendored
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
<?= '<'.'?'.'xml version="1.0" encoding="UTF-8"?>'."\n" ?>
|
||||||
|
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||||
|
@foreach($tags as $tag)
|
||||||
|
@include('sitemap::sitemapIndex/' . $tag->getType())
|
||||||
|
@endforeach
|
||||||
|
</sitemapindex>
|
||||||
8
resources/views/vendor/sitemap/sitemapIndex/sitemap.blade.php
vendored
Normal file
8
resources/views/vendor/sitemap/sitemapIndex/sitemap.blade.php
vendored
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
<sitemap>
|
||||||
|
@if (! empty($tag->url))
|
||||||
|
<loc>{{ url($tag->url) }}</loc>
|
||||||
|
@endif
|
||||||
|
@if (! empty($tag->lastModificationDate))
|
||||||
|
<lastmod>{{ $tag->lastModificationDate->format(DateTime::ATOM) }}</lastmod>
|
||||||
|
@endif
|
||||||
|
</sitemap>
|
||||||
20
resources/views/vendor/sitemap/url.blade.php
vendored
Normal file
20
resources/views/vendor/sitemap/url.blade.php
vendored
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
<url>
|
||||||
|
@if (! empty($tag->url))
|
||||||
|
<loc>{{ url($tag->url) }}</loc>
|
||||||
|
@endif
|
||||||
|
@if (count($tag->alternates))
|
||||||
|
@foreach ($tag->alternates as $alternate)
|
||||||
|
<xhtml:link rel="alternate" hreflang="{{ $alternate->locale }}" href="{{ url($alternate->url) }}" />
|
||||||
|
@endforeach
|
||||||
|
@endif
|
||||||
|
@if (! empty($tag->lastModificationDate))
|
||||||
|
<lastmod>{{ $tag->lastModificationDate->format(DateTime::ATOM) }}</lastmod>
|
||||||
|
@endif
|
||||||
|
@if (! empty($tag->changeFrequency))
|
||||||
|
<changefreq>{{ $tag->changeFrequency }}</changefreq>
|
||||||
|
@endif
|
||||||
|
<priority>{{ number_format($tag->priority,1) }}</priority>
|
||||||
|
@each('sitemap::image', $tag->images, 'image')
|
||||||
|
@each('sitemap::video', $tag->videos, 'video')
|
||||||
|
@each('sitemap::news', $tag->news, 'news')
|
||||||
|
</url>
|
||||||
23
resources/views/vendor/sitemap/video.blade.php
vendored
Normal file
23
resources/views/vendor/sitemap/video.blade.php
vendored
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
<video:video>
|
||||||
|
<video:thumbnail_loc>{{ $video->thumbnailLoc }}</video:thumbnail_loc>
|
||||||
|
<video:title>{{ $video->title }}</video:title>
|
||||||
|
<video:description>{{ $video->description }}</video:description>
|
||||||
|
@if ($video->contentLoc)
|
||||||
|
<video:content_loc>{{ $video->contentLoc }}</video:content_loc>
|
||||||
|
@endif
|
||||||
|
@if ($video->playerLoc)
|
||||||
|
<video:player_loc>{{ $video->playerLoc }}</video:player_loc>
|
||||||
|
@endif
|
||||||
|
@foreach($video->options as $tag => $value)
|
||||||
|
<video:{{$tag}}>{{$value}}</video:{{$tag}}>
|
||||||
|
@endforeach
|
||||||
|
@foreach($video->allow as $tag => $value)
|
||||||
|
<video:{{$tag}} relationship="allow">{{$value}}</video:{{$tag}}>
|
||||||
|
@endforeach
|
||||||
|
@foreach($video->deny as $tag => $value)
|
||||||
|
<video:{{$tag}} relationship="deny">{{$value}}</video:{{$tag}}>
|
||||||
|
@endforeach
|
||||||
|
@foreach($video->tags as $tag)
|
||||||
|
<video:tag>{{ $tag }}</video:tag>
|
||||||
|
@endforeach
|
||||||
|
</video:video>
|
||||||
Reference in New Issue
Block a user