Генерация Sitemap с помощью Codeigniter
Мне нужно создать sitemap в Codeigniter приложение. Я нашел несколько библиотек, но все они устарели и есть ошибка.
мне действительно нужна отдельная библиотека для этого?
Я хочу знать лучший способ создания sitemap в Codeigniter.
4 ответов
вы можете использовать мой код:
контроллеры / seo.в PHP
Class Seo extends CI_Controller {
function sitemap()
{
$data = "";//select urls from DB to Array
header("Content-Type: text/xml;charset=iso-8859-1");
$this->load->view("sitemap",$data);
}
}
вид/Карта сайта.в PHP
<?= '<?xml version="1.0" encoding="UTF-8" ?>' ?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc><?= base_url();?></loc>
<priority>1.0</priority>
</url>
<!-- My code is looking quite different, but the principle is similar -->
<?php foreach($data as $url) { ?>
<url>
<loc><?= base_url().$url ?></loc>
<priority>0.5</priority>
</url>
<?php } ?>
</urlset>
добавить строку в config / routes.в PHP
$route['seo/sitemap\.xml'] = "seo/sitemap";
Извините, если есть некоторые ошибки в коде, я сделал его специально для вас. Если есть ошибки, вы можете легко исправить их, поняв принцип.
должны установить заголовок :
<?php header('Content-type: text/xml'); ?>
<?= '<?xml version="1.0" encoding="UTF-8" ?>' ?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc><?= base_url();?></loc>
<priority>1.0</priority>
</url>
<!-- My code is looking quite different, but the principle is similar -->
<?php foreach($data as $url) { ?>
<url>
<loc><?= base_url().$url ?></loc>
<priority>0.5</priority>
</url>
<?php } ?>
</urlset>
настоятельно рекомендуется добавить ссылку sitemap к роботам.txt вот так:
Sitemap: http://www.yoursite.com/seo/sitemap
Я написал модель CodeIgniter, которая позволила вам вызывать функции из контроллера sitemap и выплевывать XML, когда вы все закончите кормить sitemap.
Не стесняйтесь смотреть и повторно использовать модель CodeIgniter: