Sitemap für Suchmaschinen

Mit einer Sitemap für Suchroboter (z.b. Googlebot) verhält es sich bei uns kleinen Bloggern ähnlich wie mit dem Impressum. Unbedingt brauchen tut man sie nicht. Da es sich dabei um einen einmaligen (!) und überschaubaren Aufwand handelt, soll er sie haben der Herr Google.

Sinn macht eine Sitemap natürlich nur wenn man in der Datei robots.txt den Suchmaschinen Einlass gewährt. Das stimmt aber auch nur bedingt, denn keine Datei robots.txt ist einer offenen Eingangstüre zu euren Seiten gleichzusetzen:

//*  Alle Suchmaschinen sind eingeladen *//

User-agent:
//
Piloten ist nichts verboten //
Disallow:
//
Fleissaufgabe : *//
Sitemap: https://eure-domain.com/sitemap.xml

Dadurch habe ich wenigstens einen regelmäßigen Besucher ;-)

Sitemap erstellen

An mein Kirby lasse ich nur Wasser und CD sowie Original-Ersatzteile aus dem Kirby Kochbuch. Es folgt der Vorschlag für eine Sitemap von Bastian "Kirby" Allgeier.


<?php

// Exclude sites like the sitemap page itself and the error page.
$ignore = array('sitemap', 'error');

// send the right header
header('Content-type: text/xml; charset="utf-8"');

// echo the doctype
echo '<?xml version="1.0" encoding="utf-8"?>';

?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">;
<?php foreach($pages->index() as $p): ?>
<?php if(in_array($p->uri(), $ignore)) continue ?>
<url>
<loc><?php echo html($p->url()) ?></loc>
<lastmod><?php echo $p->modified('c') ?></lastmod>
<priority><?php echo ($p->isHomePage()) ? 1 : number_format(0.5/$p->depth(), 1) ?></priority>
</url>
<?php endforeach ?>
</urlset>

Die Datei config.php

Die folgenden Anpassungen sind notwendig da Kirby ab Version ? keine Dateinamen-Erweiterung wie z.B. .xml akzeptiert (Quelle). Diese Kirby Routes stammen natürlich auch vom Basti:

/---------------------------------------------------------
Setup Kirby Routes
Copy the code to
../config/config.php
https://github.com/getkirby/kirby/issues/93
/----------------------------------------------------------
c::set('routes', array(
array(
'pattern' => 'sitemap.xml',
'action' => function() {
return site()->visit('sitemap');
}
),
array(
'pattern' => 'sitemap',
'action' => function() {
return go('sitemap.xml');
}
)
));

Hi Bots, hier ist meine Sitemap

Als Musterschüler (=Streber) wartet man nicht bis die Bots die Map finden sondern man stuppst sie mit der Nase drauf ;-)


Next
Einfaches Kontaktformular für Kirby

Follow me ô¿ô