Suchmaschinenoptimierung (SEO) mit FileMaker und MySQL.


FileMaker_SEO_ArtikelbilSuchmaschinenoptimierung und FileMaker mögen auf den ersten Blick vielleicht nicht so recht zusammenpassen. Bei näherer Betrachtung entpuppt sich FileMaker jedoch als ein hervorragendes Tool, um Webseiten und Onlineshops, die beispielsweise auf MySQL basieren, mit suchmaschinenoptimierten Meta-Tags wie Titel, Beschreibung oder Keywords zu bestücken. Am Beispiel des bekannten Onlineshop-Systems xt:Commerce werde ich in diesem Artikel zeigen, wie sich FileMaker sehr gut nutzen läßt, um eine große Anzahl an Artikeln gleichzeitig auf Knopfdruck mit optimierten Angaben zu versehen. Der „normale“ Weg wäre, jeden Artikel einzeln im Backend von xt:commerce aufzurufen und die Angaben manuell hinzuzufügen. Das geht natürlich auch, aber wir haben doch keine Zeit und wollen eine schnellere Lösung…

Importieren von Artikeldaten in FileMaker

Im Artikel FileMaker und MySQL habe ich bereits beschrieben, auf welche Weise FileMaker mit einer MySQL-Datenbank im Internet verbunden werden kann. Dieser Artikel setzt voraus, daß Sie auf Ihrem Mac eine fertig eingerichtete ODBC-Schnittstelle zu Ihrem Webserver zur Verfügung stehen haben, auf dem sich die MySQL-Datenbank von xt:commerce befindet. Schauen wir uns nun zunächst an, in welchen Tabellen xt:Commerce relevante Artikeldaten speichert:

products – In dieser Tabelle befindet sich der Artikelstamm mit dem Primärschlüssel <<products_id>>. Die Tabelle speichert Daten wie die Artikelnummer, Produktname, Status, VPE, Bildlink usw.

products_attributes – Diese Tabelle speichert die in xt:Commerce für die einzelnen Produkte zugewiesenen Produktattribute – also beispielsweise „Größe: o M  o L  o XL“, die der Kunde vor der Bestellung im Produkt auswählen kann. Für Suchmaschinenoptimierung ist diese Tabelle irrelevant.

products_description – Dies ist die relevante Tabelle, die wir für Suchmaschinenoptimierung benötigen. Sie beinhaltet die Beschreibung (Artikellangtext im HTML-Format), die Kurzbeschreibung im HTML-Format, den Namen des Artikels sowie alle Meta-Angaben (Suchbegriffe, Meta-Keywords, Meta-Description, Meta-Title).

xt:Commerce besitzt noch ein paar weitere produktbezogene Tabellen wie products_options, products_to_categories oder products_xsell, in denen weitere Angaben zu Artikeln gespeichert sind, die jedoch für unseren Artikel nicht relevant sind.

Wenn die ODBC-Datenquelle, wie oben bereits erwähnt, erfolgreich auf Ihrem Computer eingerichtet wurde, erstellen Sie nun in FileMaker eine neue Datenbank:

Datei (Ablage) > Neue Datenbank...

Vergeben Sie einen beliebigen Namen, z.B. „fmseo.fp7“. Wenn sich daraufhin das Fenster für die Datenbankdefinition öffnet, schließen Sie dieses, denn wir werden unsere Datentabellen nun automatisch aus xt:Commerce in FileMaker importieren. Der Einfachheit halber arbeiten wir in diesem Artikel ausschließlich mit der Tabelle products_description aus xt:Commerce. Wenn Sie in Ihrer Lösung eine vollständige Artikelverwaltung realisieren möchten, werden Sie sicher auch die anderen Tabellen benötigen – dies würde aber den Rahmen dieses Artikels sprengen. Um die gewünschte Tabelle in FileMaker zu importieren, wählen Sie nun folgenden Menüpunkt aus:

Datei (Ablage) > Datensätze importieren > ODBC-Datenquelle

Daraufhin erscheint ein Dialog, in dem Sie nun die von Ihnen erstellte ODBC-Datenquelle auswählen, die für den xt:Commerce-Shop eingerichtet wurde:

ODBC-Datenquelle auswählen

Geben Sie im folgenden Dialog den Benutzernamen und das Passwort zur MySQL-Datenbank ein:

ODBC Passworteingabe

Sobald Sie Ihre Zugangsdaten erfolgreich eingegeben und mit der Schaltfläche [OK] bestätigt haben, erscheint der Dialog zur Erstellung einer SQL-Abfrage:

SQL-Query-Erstellung

Wählen Sie in diesem Dialog in der linken Spalte „Tabellen“ die Tabelle products_description aus. Daraufhin doppelklicken Sie einfach in der rechten Spalte „Spalten“ alle Felder, bis Ihre SQL-Abfrage im darunter liegenden Textfeld vollständig ist. Die SQL-Abfrage (SQL-Query) sollte nun folgendermaßen aussehen:

SELECT `products_description`.`language_id`, `products_description`.`products_description`,
`products_description`.`products_id`, `products_description`.`products_keywords`,
`products_description`.`products_meta_description`, `products_description`.`products_meta_keywords`,
 `products_description`.`products_meta_title`, `products_description`.`products_name`,
`products_description`.`products_short_description`, `products_description`.`products_url`,
`products_description`.`products_viewed`
FROM `products_description`

Nach Klick auf die Schaltfläche [Ausführen] wird die SQL-Abfrage auf den Server ausgeführt, und es erscheint nun der schon bekannte Dialog für die Zuordnung der Importfelder aus FileMaker. Da in der neuen Datenbank noch keine Tabelle existiert, wählen Sie oben rechts unter „Ziel“ nun „Neue Tabelle“ aus.

Zuordnung der Importfelder in FileMaker

Nach Klick auf die Schaltfläche [Importieren] legt FileMaker nun eine neue Tabelle an mit den originalen Feldnamen der Tabelle aus xt:Commerce und importiert gleichzeitig alle Datensätze, die sich in dieser Tabelle befinden. Sie haben nun also eine neue FileMaker-Datenbank erstellt, in der sich die Tabelle products_description inklusive aller Datensätze aus xt:Commerce befindet, ohne daß Sie auch nur eine Tabelle oder eine Felddefinition in FileMaker anlegen mußten!

Wenn Sie die Felder auf Ihren neuen Layout nun noch ein wenig nach Ihren Wünschen zurechtrücken, könnte Ihre Datenbank nun ungefähr folgendermaßen aussehen:

Layout der FileMaker-Datenbank

In dieser neuen Datenbank können Sie nun nach Herzenslust Meta-Tags oder andere Angaben zu Ihren Artikeln pflegen. Selbstverständlich haben Sie auch die Möglichkeit, Meta-Angaben automatisch berechnen zu lassen. Beispielsweise können Sie die Artikelstammtabelle products aus xt:Commerce ebenfalls importieren und über den Primärschlüssel <<products_id>> mit der schon angelegten Tabelle products_description verbinden. Auf diese Weise können Sie beispielsweise per automatischer Berechnung („Feldinhalt ersetzen“) automatisch Felder mit Inhalten füllen. Ihren Möglichkeiten sind praktisch keine Grenzen gesetzt!

So kommen die Daten zurück auf den MySQL-Server

Wenn Sie nun die Daten in Ihrer FileMaker-Datenbank erfolgreich bearbeitet oder erstellt haben, möchten Sie natürlich nun die Daten auch wieder zurück in den Onlineshop schreiben. Diesen Vorgang können wir ganz komfortabel direkt in FileMaker als Script realisieren. Auf diese Weise haben Sie dann auch die Möglichkeit, entweder einen (den aufgerufenen) Datensatz oder alle aufgerufenen Datensätze gleichzeitig zu aktualisieren.

Um Daten auf einen SQL-Server zu schreiben, stellt uns FileMaker im ScriptMaker den Befehl

SQL Query ausführen

zur Verfügung. Um beispielsweise die Produktbeschreibung, also das Feld <<product_description>>, auf dem SQL-Server zu aktualisieren, benötigen wir folgenden Befehl im ScriptMaker:

SQL Query ausführen [Ohne Dialogfeld; DSN: IhrMySQLServer; Berechneter SQL-Text:
"UPDATE `products_description` SET `products_description` = "" &
Austauschen(xtc_products_description::products_description; """; "") & ""
WHERE `products_id` = " & xtc_products::products_id]

Um Kompatibilitätsprobleme mit der SQL-Query zu vermeiden, tauscht unser Scriptbefehl automatisch doppelte Anführungszeichen („) in einfache Anführungszeichen (‚) um, die sich ggf. im Beschreibungstext befinden. Mit diesem einfachen Scriptbefehl wird das Feld <<products_description>> auf dem SQL-Server durch den Inhalt des gleichnamigen Feldes in Ihrer FileMaker-Datenbank aktualisiert. Dies funktioniert selbstverständlich mit allen Feldern der Datenbank, also auch mit allen Feldern der Meta-Tags.

Soll das Feld aller aufgerufenen Datensätze in FileMaker auf dem SQL-Server aktualisiert werden, kann dies ganz einfach durch eine Schleife realisiert werden, also zum Beispiel so:

Schleife (Anfang)
SQL Query ausführen [Ohne Dialogfeld; DSN: IhrMySQLServer; Berechneter SQL-Text:
"UPDATE `products_description` SET `products_description` = "" &
Austauschen(xtc_products_description::products_description; """; "") & ""
WHERE `products_id` = " & xtc_products::products_id]
Gehe zu Datens./Abfrage/Seite [Nächste(r); Nach letztem beenden]
Schleife (Ende)

Auch in Bezug auf die Aktualisierung der Datensätze auf dem SQL-Server haben Sie unbegrenzte Möglichkeiten und können diese Funktionen auf einfache Weise in Ihre Benutzeroberfläche integrieren. Für die SQL-Queries müssen Sie kein Crack in SQL sein – für die hier gezeigte Lösung werden lediglich ganz einfache SQL-Abfragen benötigt. Um vorhandene Daten von FileMaker in die MySQL-Datenbank zu übertragen, benötigen Sie ausschließlich den SQL-Befehl UPDATE. Mit dem Einschränkungsbefehl WHERE stellen Sie sicher, daß ausschließlich der Datensatz aktualisiert wird, dessen Primärschlüssel <<products_id>> dem des aufgerufenen Datensatzes in FileMaker entspricht.

Ich hoffe, daß das Tutorial bis hierhin verständlich und nachvollziehbar ist. In einem weiteren Artikel werde ich zeigen, wie man neue Daten aus FileMaker in eine MySQL-Datenbank schreibt – beispielsweise um Lieferstati oder andere Daten aus FileMaker direkt in MySQL zu generieren.

,

  1. #1 von Mabelle Thomson am 20. März 2011 - 20:04

    Danke für den interessanten Bericht !

(wird nicht veröffentlicht)