{"id":3122,"date":"2025-03-07T09:27:27","date_gmt":"2025-03-07T08:27:27","guid":{"rendered":"https:\/\/digitalia.culturanuova.net\/blog\/?p=3122"},"modified":"2025-03-07T09:27:27","modified_gmt":"2025-03-07T08:27:27","slug":"sitemap-php-script","status":"publish","type":"post","link":"https:\/\/digitalia.culturanuova.net\/blog\/?p=3122","title":{"rendered":"sitemap php script"},"content":{"rendered":"\n<p>A script like the following can generate automatically your sitemap (in xml format):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\nfunction genera_sitemap($path) {\n  $sitemap = '&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?>' . \"\\n\";\n  $sitemap .= '&lt;urlset\n  xmlns=\"http:\/\/www.sitemaps.org\/schemas\/sitemap\/0.9\"\n  xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\"\n  xsi:schemaLocation=\"http:\/\/www.sitemaps.org\/schemas\/sitemap\/0.9\n      http:\/\/www.sitemaps.org\/schemas\/sitemap\/0.9\/sitemap.xsd\">' . \"\\n\";\n\n  \/\/ Scansiona le directory e sottodirectory del sito\n  $dir = '.\/';\n  $files = scandir($dir);\n  foreach ($files as $file) {\n    if ($file != '.' &amp;&amp; $file != '..' &amp;&amp; strpos($file, '.') !== 0) {\n      if (is_dir($dir . $file)) {\n        \/\/ Scansiona la sottodirectory\n        $sitemap .= aggiungi_sottodirectory($dir . $file . '\/', $path) . \"\\n\";\n      } else {\n        \/\/ Aggiungi il file alla sitemap\n        if (preg_match('\/\\.php$\/', $file) &amp;&amp; $file != 'sql-pass.php') {\n          $sitemap .= '&lt;url>' . \"\\n\";\n          $sitemap .= ' &lt;loc>' . $path . '\/' . $file . '&lt;\/loc>' . \"\\n\";\n          $sitemap .= ' &lt;lastmod>' . date('c', filemtime($dir . $file)) . '&lt;\/lastmod>' . \"\\n\";\n          \/\/$sitemap .= ' &lt;changefreq>daily&lt;\/changefreq>' . \"\\n\";\n          $sitemap .= ' &lt;priority>1.0&lt;\/priority>' . \"\\n\";\n          $sitemap .= '&lt;\/url>' . \"\\n\";\n        }\n      }\n    }\n  }\n\n  $sitemap .= '&lt;\/urlset>' . \"\\n\";\n\n  \/\/ Salva la sitemap su file\n  $file = 'sitemap.xml';\n  $fp = fopen($file, 'w');\n  fwrite($fp, $sitemap);\n  fclose($fp);\n}\n\nfunction aggiungi_sottodirectory($dir, $path) {\n  $sitemap = '';\n  $files = scandir($dir);\n  foreach ($files as $file) {\n    if ($file != '.' &amp;&amp; $file != '..' &amp;&amp; strpos($file, '.') !== 0) {\n      if ($file == 'index.php') {\n        $priority = '1.0';}\n      elseif (preg_match('\/testi\/', $file)) {\n          $priority = 0.2;\n        }\n      else {\n        $priority = 0.6;\n        }\n      if (is_dir($dir . $file)) {\n        \/\/ Scansiona la sottodirectory\n        $sitemap .= aggiungi_sottodirectory($dir . $file . '\/', $path) . \"\\n\";\n      } else {\n        \/\/ Aggiungi il file alla sitemap\n        if (preg_match('\/\\.php$\/', $file)) {\n          $sitemap .= '&lt;url>' . \"\\n\";\n          $sitemap .= ' &lt;loc>' . $path . substr($dir, 2) . $file . '&lt;\/loc>' . \"\\n\";\n          $sitemap .= ' &lt;lastmod>' . date('c', filemtime($dir . $file)) . '&lt;\/lastmod>' . \"\\n\";\n          \/\/$sitemap .= ' &lt;changefreq>daily&lt;\/changefreq>' . \"\\n\";\n          $sitemap .= ' &lt;priority>' . $priority . '&lt;\/priority>' . \"\\n\";\n          $sitemap .= '&lt;\/url>' . \"\\n\";\n        }\n      }\n    }\n  }\n  return $sitemap;\n}\n?><\/code><\/pre>\n\n\n\n<p>You can call it from different websites, with a code like the following (assuming that your script is genera-sitemap-commune.inc:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\n$path=\"https:&#91;your-desired-path]\";\ninclude \"genera-sitemap-commune.inc\";\ngenera_sitemap($path);\n?><\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>A script like the following can generate automatically your sitemap (in xml format): You can call it from different websites, with a code like the following (assuming that your script is genera-sitemap-commune.inc:<\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[885,569,566],"tags":[933],"class_list":["post-3122","post","type-post","status-publish","format-standard","hentry","category-code","category-internet","category-webmaster","tag-sitemap"],"_links":{"self":[{"href":"https:\/\/digitalia.culturanuova.net\/blog\/index.php?rest_route=\/wp\/v2\/posts\/3122","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/digitalia.culturanuova.net\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/digitalia.culturanuova.net\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/digitalia.culturanuova.net\/blog\/index.php?rest_route=\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/digitalia.culturanuova.net\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3122"}],"version-history":[{"count":1,"href":"https:\/\/digitalia.culturanuova.net\/blog\/index.php?rest_route=\/wp\/v2\/posts\/3122\/revisions"}],"predecessor-version":[{"id":3123,"href":"https:\/\/digitalia.culturanuova.net\/blog\/index.php?rest_route=\/wp\/v2\/posts\/3122\/revisions\/3123"}],"wp:attachment":[{"href":"https:\/\/digitalia.culturanuova.net\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3122"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/digitalia.culturanuova.net\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3122"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/digitalia.culturanuova.net\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3122"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}