Według Google większość witryn skorzystałaby z mapy witryny, która pomaga botom wiedzieć, które strony powinny być indeksowane.
Mapa witryny to plik, w którym podajesz informacje o stronach, filmach i innych plikach w witrynie oraz o relacjach między nimi. Wyszukiwarki takie jak Google odczytują ten plik, aby skuteczniej indeksować Twoją witrynę. Mapa witryny informuje Google, które strony i pliki są Twoim zdaniem ważne w Twojej witrynie, a także zawiera cenne informacje o tych plikach. Na przykład data ostatniej aktualizacji strony i wszelkie alternatywne wersje językowe strony.
Możliwe jest ich ręczne tworzenie, a tutaj mamy samouczek, jak ręcznie utworzyć mapę witryny, ale pakiet o nazwie "laravel-sitemap" od Spatie sprawia, że tworzenie mapy witryny jest łatwiejsze niż kiedykolwiek.
Jedną z zalet pakietu jest to, że zapewnia dwie metody tworzenia mapy witryny. Po pierwsze, może automatycznie indeksować Twoją witrynę i budować ją w oparciu o linki wewnętrzne lub możesz mieć pełną kontrolę i budować ją ręcznie.
Laravel Sitemap Automatyczne indeksowanie Wszystko, co musisz zrobić, aby automatycznie indeksować, to zainstalować pakiet, a następnie podać mu adres URL, aby rozpocząć indeksowanie
.
use Spatie\Sitemap\SitemapGenerator;
$path = public_path('sitemap.xml');
SitemapGenerator::create('https://example.com')->writeToFile($path);
Generator może wykonywać JavaScript na każdej stronie, więc linki wstrzyknięte do domu przez JavaScript również zostaną zindeksowane.
Ręczna konfiguracja
mapy witryny Laravela Używam tego tutaj w Laravel News, ponieważ mamy tysiące stron, które należy dodać do indeksu. Aby to skonfigurować, najpierw zastosuj kod do swoich modeli:Następnie możesz wygenerować mapę witryny w następujący sposób:
use Spatie\Sitemap\Contracts\Sitemapable;
use Spatie\Sitemap\Tags\Url;
class Article extends Model implements Sitemapable
{
public function toSitemapTag(): Url | string | array
{
return Url::create(route('article.details', $this))
->setLastModificationDate(Carbon::create($this->updated_at))
->setChangeFrequency(Url::CHANGE_FREQUENCY_YEARLY)
->setPriority(0.1);
}
}
use Spatie\Sitemap\Sitemap;
Sitemap::create()
->add(Post::all()
->writeToFile(public_path('sitemap.xml'));
Jak używamy mapy
witryny Laravela Jak wspomniano, używamy ręcznej konfiguracji, a oto pełny kod do wygenerowania naszej mapy witryny:
Sitemap::create()
->add($this->build_index(Article::active()->get(), 'sitemap_articles.xml'))
->add($this->build_index(Partner::active()->get(), 'sitemap_partners.xml'))
->add($this->build_index(Category::all(), 'sitemap_categories.xml'))
->add($this->build_index(Package::all(), 'sitemap_packages.xml'))
->add(Url::create('/')->setPriority(1)->setChangeFrequency(Url::CHANGE_FREQUENCY_ALWAYS))
->add(Url::create('/newsletter')->setPriority(0.5)->setChangeFrequency(Url::CHANGE_FREQUENCY_MONTHLY))
->add(Url::create('/popular-laravel-packages')->setPriority(0.5)->setChangeFrequency(Url::CHANGE_FREQUENCY_MONTHLY))
->add(Url::create('/links')->setPriority(0.5)->setChangeFrequency(Url::CHANGE_FREQUENCY_ALWAYS))
->add(Url::create('/links/new')->setPriority(0.5)->setChangeFrequency(Url::CHANGE_FREQUENCY_ALWAYS))
->add(Url::create('/partners')->setPriority(0.5)->setChangeFrequency(Url::CHANGE_FREQUENCY_ALWAYS))
->add(Url::create('/partners/agencies')->setPriority(0.5)->setChangeFrequency(Url::CHANGE_FREQUENCY_ALWAYS))
->add(Url::create('/partners/tools')->setPriority(0.5)->setChangeFrequency(Url::CHANGE_FREQUENCY_ALWAYS))
->add(Url::create('/partners/education')->setPriority(0.5)->setChangeFrequency(Url::CHANGE_FREQUENCY_ALWAYS))
->writeToFile(public_path('sitemap.xml'));
Pierwsza część buduje indeksy z wieloma wynikami, a następnie ręcznie dodajemy strony, które pochodzą z głównej nawigacji. Dołączony film zawiera pełne szczegóły.
Więcej informacji
Zobacz pakiet biura, aby uzyskać szczegółowe informacje na temat instalacji, konfiguracji i użycia aplikacji.