Esta extensión creará automáticamente mapas de sitio XML para sus sitios Bolt. Después de habilitar la extensión, vaya a http://example.org/sitemap.xml
para verla.
Los motores de búsqueda más grandes, como Google y Bing, seleccionarán automáticamente su mapa del sitio después de un tiempo, pero siempre es una buena idea decirles explícitamente a los motores de búsqueda dónde encontrarlo. Para hacerlo, esta extensión agrega automáticamente el enlace a la sección <head>
de tus páginas:
< link rel =" sitemap " type =" application/xml " title =" Sitemap " href =" /sitemap.xml " />
Aparte de eso, es una buena práctica agregar también la siguiente línea a su archivo robots.txt
:
Sitemap: http://example.org/sitemap.xml
Obviamente, debes reemplazar 'ejemplo.org' con el nombre de dominio de tu sitio web.
Esta extensión agrega una 'ruta' para /sitemap.xml
y /sitemap
de forma predeterminada, pero tiene menor prioridad que las rutas definidas por el usuario.
Si utiliza el pagebinding
en routing.yml
, o cualquier ruta similar que coincida primero con 'mapa del sitio', deberá agregar lo siguiente encima de esa ruta. También debes hacer esto si tienes una extensión que pueda anular la ruta predeterminada, como la extensión AnimalDesign/bolt-translate.
sitemap :
path : /sitemap
defaults : { _controller: sitemap.controller:sitemap }
sitemapXml :
path : /sitemap.xml
defaults : { _controller: sitemap.controller:sitemapXml }
Tenga en cuenta que si tiene un ContentType con la propiedad searchable: false
, ese tipo de contenido se ignorará.
Si tiene su propia extensión incluida, puede agregar, eliminar o cambiar enlaces antes de que se muestre el mapa del sitio. Debes suscribirte al evento SitemapEvents::AFTER_COLLECTING_LINKS
. El objeto que obtendrá es una instancia de la clase SitemapEvent
que tiene un método getLinks
que devuelve un objeto MutableBag
. El último es una lista de enlaces similar a una matriz. Ver ejemplo:
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 ,
]);
}
);
}
Puede personalizar el mapa del sitio con una hoja de estilo xslt si copia el archivo templates/sitemap_xml.twig
y el archivo web/sitemap.xsl
a su directorio de temas y agrega la declaración de hoja de estilo xsl después de la declaración xml para que las dos primeras líneas del themes/{yourthemename}/sitemap_xml.twig
se ven así:
<? xml version = " 1.0 " encoding = " UTF-8 " ?>
<? xml-stylesheet type = " text/xsl " href = " {{ paths.theme }}/sitemap.xsl " ?>