Artikel
Membuat Sitemap Dengan Codeigniter 4
Sitemap merupakan alat bantu yang digunakan untuk menyampaikan kepada mesin pencari, bahwa kita memiliki sebuah website. Isi dari sitemap sendiri itu adalah kumpulan url yang dimiliki artikel kita, kemudian di susun dengna sedemikian rupa kemudian kita kirimkan kepada google melalui tolls web master yang biasa disebut dengan search console.
berikut adalah tampilan codingan pada file Routes.php
$routes->get('sitemap\.xml', 'Frontend::custom_sitemap');
sroutes di atas menerangkan bahwa untuk url /sitemap.xml di arahkan kepada Controller bernama Frontend (nama file dan class nya) kemudian di arahkan ke sebuah function bernama custom_sitemap, setelah itu kita masuk kedalam file Controller-nya seperti berikut codinganya pada file Controlelr/Frontend.php
$this->response->setHeader('Content-Type', 'text/xml;charset=UTF-8 version="1.0" ');
return view('frontend/sitemap',$data);
codingan di atas itu sudah masuk kedalam functionya ya kawan kawan. semoga bisa di pahami dan datanya kalian sesuaikan dengan yang kalian miliki, kemudian untuk viewnya kita isi seperti ini di file frontend/sitemap.php
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:news="http://www.google.com/schemas/sitemap-news/0.9"
xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">
<?php foreach ($posts as $row): ?>
<url>
<loc><?= site_url() . 'read/' . $row->id . '/' . $row->slug; ?></loc>
<news:news>
<news:publication>
<news:name>
<![CDATA[ Radar CBS ]]>
</news:name>
<news:language>
<![CDATA[ id ]]>
</news:language>
</news:publication>
<news:publication_date>
<![CDATA[ <?php $date = date_create($row->created_at);
echo date_format($date, 'c'); ?> ]]>
</news:publication_date>
<news:title>
<![CDATA[<?= $row->title; ?> ]]>
</news:title>
<news:keywords>
<![CDATA[ <?= $row->keywords; ?> ]]>
</news:keywords>
</news:news>
<image:image>
<image:loc>
<![CDATA[ <?= base_url('assets/images/' . $row->image) ?>]]>
</image:loc>
</image:image>
</url>
<?php endforeach; ?>
</urlset>
Sekali lagi teman teman sesuaikan dengan kebutuahan