Diese Erweiterung erstellt automatisch XML-Sitemaps für Ihre Bolt-Sites. Nachdem Sie die Erweiterung aktiviert haben, gehen Sie zu http://example.org/sitemap.xml
um sie anzuzeigen.
Die größeren Suchmaschinen wie Google und Bing übernehmen Ihre Sitemap nach einer Weile automatisch, es ist jedoch immer eine gute Idee, den Suchmaschinen explizit mitzuteilen, wo sie sie finden können. Zu diesem Zweck fügt diese Erweiterung den Link automatisch zum Abschnitt <head>
Ihrer Seiten hinzu:
< link rel =" sitemap " type =" application/xml " title =" Sitemap " href =" /sitemap.xml " />
Darüber hinaus empfiehlt es sich, Ihrer robots.txt
Datei auch die folgende Zeile hinzuzufügen:
Sitemap: http://example.org/sitemap.xml
Natürlich sollten Sie „example.org“ durch den Domainnamen Ihrer Website ersetzen.
Diese Erweiterung fügt standardmäßig eine „Route“ für /sitemap.xml
und /sitemap
hinzu, hat jedoch eine niedrigere Priorität als benutzerdefinierte Routen.
Wenn Sie die pagebinding
in routing.yml
oder eine ähnliche Route verwenden, die zuerst mit „sitemap“ übereinstimmt, müssen Sie über dieser Route Folgendes hinzufügen. Sie sollten dies auch tun, wenn Sie eine Erweiterung haben, die möglicherweise das Standardrouting überschreibt, wie z. B. die Erweiterung AnimalDesign/bolt-translate.
sitemap :
path : /sitemap
defaults : { _controller: sitemap.controller:sitemap }
sitemapXml :
path : /sitemap.xml
defaults : { _controller: sitemap.controller:sitemapXml }
Beachten Sie: Wenn Sie einen ContentType mit der Eigenschaft searchable: false
haben, wird dieser Inhaltstyp ignoriert.
Wenn Sie über eine eigene gebündelte Erweiterung verfügen, können Sie Links hinzufügen, entfernen oder ändern, bevor die Sitemap gerendert wird. Sie müssen das SitemapEvents::AFTER_COLLECTING_LINKS
-Ereignis abonnieren. Das Objekt, das Sie erhalten, ist eine Instanz der SitemapEvent
-Klasse, die über eine getLinks
-Methode verfügt, die ein MutableBag
-Objekt zurückgibt. Die letzte ist eine arrayartige Liste von Links. Siehe Beispiel:
protected function subscribe ( $ dispatcher )
{
$ dispatcher -> addListener ( SitemapEvents :: AFTER_COLLECTING_LINKS ,
function ( $ event ) {
/** @var SitemapEvent $event */
$ links = $ event -> getLinks ();
$ links -> add ([
' link ' => ' /lorem-ipsum ' ,
' title ' => ' Hello World! ' ,
' depth ' => 1 ,
]);
}
);
}
Sie können die Sitemap mit einem XSLT-Stylesheet anpassen, indem Sie die Dateien templates/sitemap_xml.twig
und web/sitemap.xsl
in Ihr Theme-Verzeichnis kopieren und die xsl-stylesheet-Deklaration nach der XML-Deklaration hinzufügen, also die ersten beiden Zeilen der themes/{yourthemename}/sitemap_xml.twig
sehen so aus:
<? xml version = " 1.0 " encoding = " UTF-8 " ?>
<? xml-stylesheet type = " text/xsl " href = " {{ paths.theme }}/sitemap.xsl " ?>