Ekstensi ini secara otomatis akan membuat peta situs XML untuk situs Bolt Anda. Setelah mengaktifkan ekstensi, buka http://example.org/sitemap.xml
untuk melihatnya.
Mesin pencari yang lebih besar seperti Google dan Bing akan secara otomatis mengambil peta situs Anda setelah beberapa saat, namun selalu merupakan ide bagus untuk memberi tahu mesin pencari secara eksplisit di mana menemukannya. Untuk melakukannya, ekstensi ini secara otomatis menambahkan link ke bagian <head>
halaman Anda:
< link rel =" sitemap " type =" application/xml " title =" Sitemap " href =" /sitemap.xml " />
Selain itu, sebaiknya tambahkan juga baris berikut ke file robots.txt
Anda:
Sitemap: http://example.org/sitemap.xml
Tentunya, Anda harus mengganti 'example.org' dengan nama domain situs web Anda.
Ekstensi ini menambahkan 'rute' untuk /sitemap.xml
dan /sitemap
secara default, namun memiliki prioritas lebih rendah daripada rute yang ditentukan pengguna.
Jika Anda menggunakan pengikatan pagebinding
di routing.yml
, atau rute serupa lainnya yang cocok dengan 'peta situs' terlebih dahulu, Anda perlu menambahkan yang berikut di atas rute tersebut. Anda juga harus melakukan ini jika Anda memiliki ekstensi yang mungkin menggantikan perutean default, seperti ekstensi AnimalDesign/bolt-translate.
sitemap :
path : /sitemap
defaults : { _controller: sitemap.controller:sitemap }
sitemapXml :
path : /sitemap.xml
defaults : { _controller: sitemap.controller:sitemapXml }
Catatan, jika Anda memiliki ContentType dengan properti searchable: false
, tipe konten tersebut akan diabaikan.
Jika Anda memiliki paket ekstensi sendiri, Anda dapat menambahkan, menghapus, atau mengubah tautan sebelum peta situs dirender. Anda harus berlangganan acara SitemapEvents::AFTER_COLLECTING_LINKS
. Objek yang akan Anda dapatkan adalah turunan dari kelas SitemapEvent
yang memiliki metode getLinks
yang mengembalikan objek MutableBag
. Yang terakhir adalah daftar tautan seperti array. Lihat contoh:
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 ,
]);
}
);
}
Anda dapat menyesuaikan peta situs dengan stylesheet xslt jika Anda menyalin file templates/sitemap_xml.twig
dan file web/sitemap.xsl
ke direktori tema Anda dan dengan menambahkan deklarasi xsl-stylesheet setelah deklarasi xml sehingga dua baris pertama dari themes/{yourthemename}/sitemap_xml.twig
terlihat seperti:
<? xml version = " 1.0 " encoding = " UTF-8 " ?>
<? xml-stylesheet type = " text/xsl " href = " {{ paths.theme }}/sitemap.xsl " ?>