KML und KMZ Dateien (Google Earth) in WordPress hochladen und einbinden

Veröffentlicht am:

Keine Kommentare

In diesem Beitrag behandle ich die verschiedenen Möglichkeiten zum Hochladen von KML bzw. KMZ Dateien in die WordPress Mediathek und den Einsatz dieses Dateiformats.
Fehlermeldungen wie

"Datei konnte nicht hochgeladen werden. Du bist leider nicht berechtigt, diesen Dateityp hochzuladen."

sollten damit der Vergangenheit angehören.

Was sind KML Dateien und wofür werden sie verwendet?

KML-Dateien (Keyhole Markup Language) basieren auf der Sprache XML (Extensible Markup Language) und können verschiedene geografische Elemente wie Punkte, Linien, Polygone und sogar 3D-Modelle enthalten. Diese Art von Dateien werden verwendet, um geografische Daten in Anwendungen wie Google Earth oder Google Maps darzustellen. Zum Beispiel kann man mit ihnen Reiserouten, interessante Orte (POIs) oder auch Unternehmensstandorte darstellen. Weiterhin lassen sich Multimedia-Elemente wie Bilder oder Videos einbetten, um die geographischen Daten mit weiterführenden Informationen zu verknüpfen.

Ich nutze KML-Dateien zum Beispiel dazu, meine beschriebenen Wanderungen (z.B. hier) zusätzlich auf einer Karte darzustellen. So können Interessierte meine Route abseits der textlichen Beschreibung besser nachvollziehen.

Zur Arbeit mit KML Dateien auf einer WordPress Webseite werden spezielle Plugins benötigt. Ich setze seit Jahren das OSM Plugin von MiKa ein. OSM steht für OpenStreetMap und ist eine sehr gute Google Maps Alternative, weil es hier viel weniger Fallstricke im Datenschutzbereich gibt.

Methoden zum Hochladen von KML/KMZ Dateien in WordPress

Allerdings müssen die KML oder auch KMZ (das ist die komprimierte Archiv-Variante) Dateien dafür in die WordPress Mediathek hochgeladen werden, was ein Problem darstellt. KML/KMZ Dateien gehören nicht zu den erlaubten Dateiformaten für den Upload in den Medienbereich. Ich zeige euch aber, wie ihr in WordPress KML Dateien hochladen könnt.

Methode 1: Hochladen von KML/KMZ Dateien mittels FTP

Die einfachste aber auch dreckigste Methode ist der Upload mittels FTP oder einem Dateimanager in der Verwaltungsoberfläche des Webhosters. Auf der FTP-Ebene hat WordPress keinen Einfluss auf die Art der hochgeladenen Dateien. Leider sind diese so abgelegten Dateien der Mediathek nicht bekannt und man muss sie nachträglich registrieren, aber für das Hochladen und Zugänglich Machen reicht das allemal aus.

Methode 2: Deaktivierung des Upload-Filter in der wp-config.php

Schon etwas WordPress-konformer, aber immer noch sehr unhandlich ist die folgende Methode. Durch die Änderung der Grundkonstante in der wp-config.php erlaubt ihr das Hochladen aller Dateiformate in die Mediathek. Auch von denen, die ihr gar nicht braucht und vielleicht auch nicht wollt.

define ('allow_unfiltered_uploads',true);

Wenn man einfach nur eine Schriftdatei hochladen möchte und diese Funktionalität danach nicht mehr benötigt, dann ist das hiermit einfach und sicher zu bewerkstelligen. Muss man wiederholt exotische Dateien hochladen und noch dazu durch andere Nutzer, ist das andauernde Editieren der wp-config.php umständlich und zeitraubend.

Methode 3: Upload nicht erlaubter Dateitypen mit Plugin

WordPress wäre nicht WordPress, wenn es dafür nicht eine Lösung auf Basis eines Plugins gäbe. Ihr könnt es mit WP Add Mime Types oder Enhanced Media Library versuchen. Diese Plugins erlauben eine gezielte Ausnahmebehandlung für verschiedenste Dateitypen. Allerdings wird man KML/KMZ oftmals vergeblich suchen. WordPress prüft nämlich nicht auf den vorgeblichen MIME-Type sondern den tatsächlichen MIME-Type, der der Anwendung zugrunde liegt. Und das ist in diesem Fall XML und ZIP. Abgesehen davon, dass ein Plugin diese Aufgabe erledigt, bringt es oft viele weitere Funktionen mit, die man in der täglichen Arbeit vielleicht gar nicht benötigt.

Methode 4: Anpassen der Ausnahmeliste für unerlaubte MIME Types mittels Filter

Die einfachste, sauberste und flexibelste Lösung ist das Hinzufügen eines Filters. Entweder wird der Filter in der functions.php des Themes deklariert (Achtung, unbedingt Child-Theme verwenden) oder in einem Plugin wie Code Snippets verwaltet.

function add_upload_mimes($mimes) {
  $mimes['kml'] = 'text/xml';
  $mimes['kmz'] = 'application/zip';
  return $mimes;
}
add_filter('upload_mimes', 'add_upload_mimes');

Dies ist meine bevorzugte Methode, um eigentlich unerlaubte Dateien in die WordPress Mediathek zu laden. Sie ist relativ schnell implementiert, funktioniert und erweiterbar. Zudem schont sie Ressourcen, weil kein neues Plugin benötigt wird. Dieser Filter ist zur Erweiterung um zusätzliche MIME Types ausgelegt. So könnte man beispielsweise auch SVG Dateien in die Upload-Ausnahmeliste aufnehmen.

Fazit: Effektivität und Sicherheit beim Umgang mit KML/KMZ-Dateien in WordPress

Um KML/KMZ-Dateien aus Google Earth oder Google Maps in WordPress hochzuladen und einzubinden, gibt es verschiedene Möglichkeiten – angefangen bei direkten Methoden wie FTP-Uploads bis hin zur Nutzung von Plugins und Filtern zur Anpassung der Dateitypenausnahmen. Bei der Wahl der Methode sollten immer die spezifischen Anforderungen und Sicherheitsaspekte berücksichtigt werden, um eine optimale Integration und Nutzung dieser Geodaten zu gewährleisten.

Bitte beachten Sie: die Informationen in diesem Artikel wurden zum Zeitpunkt seiner Erstellung nach bestem Wissen und Gewissen zusammengetragen, aufbereit und niedergeschrieben.
Diese können heute, abhängig vom Zeitpunkt der Veröffentlichung und des behandelnden Themas, überholt und ungültig sein.
Es obliegt den Lesern, diese Inhalte mit dem aktuellen Wissensstand abzugleichen.

Artikel online seit: 15 Tagen
Letzte Änderung: 26.06.2024

Schreibe einen Kommentar