Sitemaps-Protokoll für Suchmaschinen automatisch erstellen

Sorgen Sie dafür, dass die Nutzer auf einen größeren Teil Ihrer Website aufmerksam werden mit einem „Sitemaps-Protokoll”.

[Bildschirmfoto] 
Sitemaps-Protokoll für Suchmaschinen automatisch erstellen.

Ein „Sitemaps-Protokoll” stellt eine einfache Möglichkeit für Webmaster dar, Suchmaschinen Seiten auf Ihrer Website zu melden, die zum durchsuchen verfügbar sind. Dieses „Sitemaps-Protokoll” wird von Google, Yahoo und Microsoft (Bing) und vielen anderen Suchmaschinen unterstützt.

Ein einfaches Beispiel wie so ein „Sitemaps-Protokoll” aussehen sollte. Hierbei handelt es sich um eine XML-Datei die mit jedem Texteditor erstellt werden kann.

Die Kopfdaten des XML-Codes sind immer gleich, nur die absolute Adresse zur Website müssen Sie anpassen:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
 <loc>http://www.example.com/</loc>
</url>

Eine einzelne Seite tragen Sie wie folgt ein:

<url>
 <loc>http://www.example.com/verzeichnis/demoseite.htm</loc>
 <lastmod>2019-10-16</lastmod>
</url>

Zwischen dem XML-Tag <loc> muss die absolute Adresse zur Datei auf der Website stehen. Und zwischen <lastmod> das Datum der letzten Aktualisierung der Datei (das Format des Datums bitte beachten [Jahr-Monat-Tag]).

Zum Abschluss schließen Sie den XML-Code mit:

</urlset>

Das erstellte „Sitemaps-Protokoll” muss im Hauptverzeichnis der Website als sitemap.xml gespeichert werden.

Sitemaps-Protokoll Generator

Da es doch recht mühsam ist für jede Datei auf der Website, einen Eintrag per Hand vorzunehmen, ist eine Lösung mit PHP dafür besser geeignet.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
<!DOCTYPE html>
<html>
 <head>
  <title>Sitemaps-Protokoll Generator</title>
 </head>
<body>

<h2>Sitemaps-Protokoll Generator</h2>

<?php
/* 
Sitemaps-Protokoll Generator
 - https://werner-zenk.de - 02.05.2019
 */

/* URL (Homepage-Adresse) */
$url "http://www.example.com";

/* Die zu durchsuchenden Verzeichnisse eintragen.
 Aktuelles Verzeichnis durchsuchen mit  "./"   */
$verzeichnisse = array(
"verzeichnis1/",
"verzeichnis2/",
"verzeichnis3/",
);

/* Die Dateitypen der Dateien die aufgeführt werden */
$dateiendungen = array(
".htm",
".html",
".php",
);

/* Vorzeichen bei Dateien die nicht aufgeführt werden
 sollen zum Beispiel: _intern.htm,  _log.php */
$vorzeichen "_";

/* Einzelne Dateien die nicht aufgeführt werden sollen */
$nicht_durchsuchen = array(
"index.php",
"login.htm",
);

// XML-Code - Kopfdaten
$xml "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
$xml .= "<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">\n<url>\n<loc>.
        
$url "/</loc>\n</url>\n";

$sitemap "sitemap.xml"// Name der XML-Datei
$eintraege 0;

// Verzeichnisse durchsuchen
foreach ($verzeichnisse as $verzeichnis) {
 foreach (
$dateiendungen as $dateiendung) {
  foreach (
glob($verzeichnis "*" $dateiendung) as $datei) {
   
$dateiname basename($datei);
   
// Vorzeichen und einzelne Dateien ausschließen
   
if ($dateiname[0] != $vorzeichen && !in_array($dateiname$nicht_durchsuchen)) {
    
// Eintrag (XML-Code) hinzufügen
    
$xml .= "<url>\n<loc>$url "/" $datei "</loc>\n<lastmod>.
     
date("Y-m-d"filemtime($datei)) . "</lastmod>\n</url>\n";
    
$eintraege++;
   }
  }
 }
}
// XML-Code schließen
$xml .= "</urlset>";

if (
$eintraege == 0) {
 echo 
"<p>Es wurden keine Einträge gefunden!</p>";
}
else {
 
// XML-Datei vorhanden?
 
if (file_exists($sitemap)) {
  
// Alte XML-Datei löschen
  
if (unlink($sitemap)) {
   echo 
"<p>Datei '" $sitemap "' wurde gelöscht.</p>";
  }
  else {
   echo 
"<p>Fehler beim löschen der Datei '" $sitemap "'!</p>";
   exit;
  }
 }
 
// XML-Datei speichern
 
if (file_put_contents($sitemap$xml) == true) {
  echo 
"<p>Datei <a href='" $sitemap "' target='_blank'>$sitemap "</a> wurde mit " .
   
$eintraege " Einträgen gespeichert.</p>";
 }
 else {
  echo 
"<p>Fehler beim erstellen der Datei '" $sitemap "'!</p>";
 }
}
?>

</body>
</html>

Anleitung

  1. Den Sitemaps-Protokoll Generator kopieren die Parameter an Ihre Website anpassen und speichern (z.B. als: sitemap_generator.php).

  2. Laden Sie die Datei auf Ihrer Webseite in das Hauptverzeichnis hoch und rufen Sie über die Adresszeile Ihres Browsers die Datei auf.

Tipp: Kontrollieren Sie die erstellte XML-Datei, geben Sie dazu im Mozilla Firefox-Browser (oder dem Internet-Explorer) den Pfad zur XML-Datei in die Adresszeile ein.
So ähnlich sollte der XML-Code dann angezeigt werden:

Anzeige des XML-Codes mit dem Mozilla Firefox
Anzeige des XML-Codes mit dem Mozilla Firefox
Anzeige des XML-Codes mit dem Mozilla Firefox
Anzeige des XML-Codes mit dem Internet Explorer

Sie können zum anzeigen aber auch einen normalen Texteditor verwenden.
Überprüfen Sie nun, ob die Pfade zu den Dateien korrekt eingetragen sind. Gegebenenfalls müssen Sie den Generator anpassen und erneut starten.
» Sitemaps-Protokoll dieser Website anzeigen

Hinweis

Damit das „Sitemaps-Protokoll” überhaupt von den Suchmaschinen gefunden wird muss ins Hauptverzeichnis Ihrer Website eine robots.txt -Datei mit folgendem Inhalt:

Sitemap: http://www.example.com/sitemap.xml

Also der absolute Pfad zu der Datei sitemap.xml auf Ihrer Website.

Links

Mehr über das „Sitemaps-Protokoll” finden Sie auf:
sitemaps.org/de/protocol.php
wikipedia.org/wiki/Sitemaps-Protokoll

Tipps

Umstellung von der PHP-Funktion mysql() zu mysqli()
Zur Zeit stellen viele Provider auf PHP 7 um, mit dieser neuen PHP-Version werden viele "alte" Scripte nicht mehr laufen die auf eine Datenbank zugegriffen haben.
RSS-Feed selbst erstellen
Ein RSS-Feed lässt sich, mit wenigen Codezeilen, einfach selbst erstellen. Diese stellen in erster Linie ein vorzügliches Instrument dar, den Bekanntheitsgrad einer Website zu steigern.
Eine MySQL-Tabelle über Links sortieren
Tabellen haben oft den Nachteil das diese nicht vom Benutzer sortiert werden können, dabei ist es eigentlich ganz einfach.
Diese Schlagwörter könnten Sie interessieren:
PHPMailer Silbentrennung Marquee Zeichenkodierung RSS Feed CSRF-Token Lokaler Webserver Canvas Fotoalbum Textgestaltung CSS-Counter AJAX Dynamische Seiten Sitemaps-Protokoll Rahmen Zoom-Funktion Wasserzeichen Wecker localStorage Kommentar-Box