Create sitemap
This commit is contained in:
parent
30937e8d75
commit
92c470aade
@ -18,6 +18,11 @@ if (!isLoggedIn()) {
|
|||||||
setDefaultSessionData();
|
setDefaultSessionData();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if($routerRequest["site_name"] == "sitemap.xml") {
|
||||||
|
require "lib/sitemap.php";
|
||||||
|
return generateSitemap();
|
||||||
|
}
|
||||||
|
|
||||||
if ($routerRequest["type"] == "api") {
|
if ($routerRequest["type"] == "api") {
|
||||||
echo getEndpoint($routerRequest["site_name"]);
|
echo getEndpoint($routerRequest["site_name"]);
|
||||||
|
|
||||||
|
@ -26,6 +26,7 @@ function initRouter(): array
|
|||||||
if($_SERVER["REQUEST_METHOD"] == "POST"){
|
if($_SERVER["REQUEST_METHOD"] == "POST"){
|
||||||
$routerRequest["type"] = "api";
|
$routerRequest["type"] = "api";
|
||||||
}
|
}
|
||||||
|
|
||||||
if(empty($routerRequest["type"])) {
|
if(empty($routerRequest["type"])) {
|
||||||
$routerRequest["type"] = "page";
|
$routerRequest["type"] = "page";
|
||||||
}
|
}
|
||||||
|
29
lib/sitemap.php
Normal file
29
lib/sitemap.php
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<?php
|
||||||
|
require "lib/sitemap.php";
|
||||||
|
|
||||||
|
function generateSitemap(): string {
|
||||||
|
global $routerConfig;
|
||||||
|
$site_dirs = array_diff(scandir($routerConfig["page_dir"]), array('.', '..'));
|
||||||
|
|
||||||
|
$sitemap = '<?xml version="1.0" encoding="UTF-8"?>' . PHP_EOL;
|
||||||
|
$sitemap .= '<urlset xmlns="https://www.sitemaps.org/schemas/sitemap/0.9">' . PHP_EOL;
|
||||||
|
|
||||||
|
foreach ($site_dirs as $site_dir) {
|
||||||
|
$pages_dir = array_diff(scandir($routerConfig["page_dir"] . $site_dir), array('.', '..'));
|
||||||
|
|
||||||
|
foreach ($pages_dir as $page_file) {
|
||||||
|
$page_file_tmp = explode(".", $page_file);
|
||||||
|
$page_basename = $page_file_tmp[0];
|
||||||
|
$page_location = "/" . $site_dir . "/" . $page_basename;
|
||||||
|
|
||||||
|
$sitemap .= '<url>' . PHP_EOL;
|
||||||
|
$sitemap .= '<loc>' . htmlspecialchars($page_location) . '</loc>' . PHP_EOL;
|
||||||
|
// You can add other optional tags like lastmod, changefreq, priority here if needed
|
||||||
|
$sitemap .= '</url>' . PHP_EOL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$sitemap .= '</urlset>' . PHP_EOL;
|
||||||
|
|
||||||
|
return $sitemap;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user