Guten Abend zusammen,
aktuell arbeite ich an einem CMS mit 12 Mandanten und dazu muss die Medienverwaltung (speziell Bilder) optimiert werden. Die Systeme sind alle mehrsprachig und greifen alle auf diese eine Medienverwaltung zu. Somit muss hier eine Struktur her, damit jeder Mandant seine eigenen Verzeichnisse erhält und man ggfs. einen allgemeinen Ordner anlegen kann.
Nun habe ich überlegt, dass alle Bilder wie folgt gespeichert werden:
Vorgehen #1
/out/images/[Verzeichnis vom Kunden benannt]/[Verzeichnis vom Kunden usw.]/[bildgrößen]/dateiname.endung
Vorteil:
- Auch bei mehreren Tausend Bildern ist ein Ordner nicht überfüllt und könnte zu langsam werden
- Bilder können in verschiedenen Kategorien den selben Namen haben, aber dennoch überschrieben werden. (Medieninformationen in der DB bleiben somit erhalten)
Nachteil:
- Verzeichnisse und Dateien haben immer den deutschen Namen und werden auch so ausgeliefert. Evtl. Seo-Technisch nicht so optimal?
- Umbenennung der Kategorien etwas aufwändiger, da beim umbenennen auch alle Meta-Informationen in der Datenbank auf den neuen Pfad aktualisiert werden müssen.
Vorgehen #2
/out/images/[bildgrößen]/dateiname.endung
Vorteile:
- Struktur kann komplett über die Datenbank laufen. -> Virtuelle Verzeichnisse.
Nachteile:
- Eventuell Perfomance Probleme bei zu vielen Bildern?
- Aufwändiger doppelte Dateinamen zu überprüfen und die Dateien zu überschreiben, da Dateien mit dem selben Dateinamen eventuell in verschiedenen virtuellen Verzeichnissen liegt und somit nicht überschrieben werden sollen.
- Keine SEO URL des Bildes und ebenfalls immer in Deutsch.
Allgemeine Vorteile:
- Datei kann direkt an den Browser ausgeliefert werden, ohne dass ein Script vorgeschaltet werden muss.
[B]Zusatz Option/B]
Datei anhand des Pfads/hash/id aus der Datenbank auslesen und daraus einen SEO-Link generieren der für jede Sprache unterschiedlich ist.
Vorteile:
- Speicherort der Bilder spielen keine Rolle mehr
- Bilder können jeden möglichen Namen annehmen
Nachteile:
- Es muss immer ein Script vorgeschaltet werden, welches die Bilder ausliest.
- Schlechte Perfomance durch vermeidbare Datenbankabfragen und nutzen des PHP-Interpreters statt abwicklung über NGINX/Apache
Nun meine Fragen:
Welches vorgehen ist optimal? Welche Vor- und Nachteile habe ich vergessen?
Wie lösen es andere große Systeme?
Beispiel OXID oder Wordpress: Die setzen alles in einen Ordner. (Außer man aktiviert die Datumsordner bei WP. Bei Oxid wird es noch in Kategorie und hauptbild1,hauptbild2 etc. unterteilt)
Muss man auf die mehrsprachige URL Rücksicht nehmen?
Danke und viele Grüße
aktuell arbeite ich an einem CMS mit 12 Mandanten und dazu muss die Medienverwaltung (speziell Bilder) optimiert werden. Die Systeme sind alle mehrsprachig und greifen alle auf diese eine Medienverwaltung zu. Somit muss hier eine Struktur her, damit jeder Mandant seine eigenen Verzeichnisse erhält und man ggfs. einen allgemeinen Ordner anlegen kann.
Nun habe ich überlegt, dass alle Bilder wie folgt gespeichert werden:
Vorgehen #1
/out/images/[Verzeichnis vom Kunden benannt]/[Verzeichnis vom Kunden usw.]/[bildgrößen]/dateiname.endung
Vorteil:
- Auch bei mehreren Tausend Bildern ist ein Ordner nicht überfüllt und könnte zu langsam werden
- Bilder können in verschiedenen Kategorien den selben Namen haben, aber dennoch überschrieben werden. (Medieninformationen in der DB bleiben somit erhalten)
Nachteil:
- Verzeichnisse und Dateien haben immer den deutschen Namen und werden auch so ausgeliefert. Evtl. Seo-Technisch nicht so optimal?
- Umbenennung der Kategorien etwas aufwändiger, da beim umbenennen auch alle Meta-Informationen in der Datenbank auf den neuen Pfad aktualisiert werden müssen.
Vorgehen #2
/out/images/[bildgrößen]/dateiname.endung
Vorteile:
- Struktur kann komplett über die Datenbank laufen. -> Virtuelle Verzeichnisse.
Nachteile:
- Eventuell Perfomance Probleme bei zu vielen Bildern?
- Aufwändiger doppelte Dateinamen zu überprüfen und die Dateien zu überschreiben, da Dateien mit dem selben Dateinamen eventuell in verschiedenen virtuellen Verzeichnissen liegt und somit nicht überschrieben werden sollen.
- Keine SEO URL des Bildes und ebenfalls immer in Deutsch.
Allgemeine Vorteile:
- Datei kann direkt an den Browser ausgeliefert werden, ohne dass ein Script vorgeschaltet werden muss.
[B]Zusatz Option/B]
Datei anhand des Pfads/hash/id aus der Datenbank auslesen und daraus einen SEO-Link generieren der für jede Sprache unterschiedlich ist.
Vorteile:
- Speicherort der Bilder spielen keine Rolle mehr
- Bilder können jeden möglichen Namen annehmen
Nachteile:
- Es muss immer ein Script vorgeschaltet werden, welches die Bilder ausliest.
- Schlechte Perfomance durch vermeidbare Datenbankabfragen und nutzen des PHP-Interpreters statt abwicklung über NGINX/Apache
Nun meine Fragen:
Welches vorgehen ist optimal? Welche Vor- und Nachteile habe ich vergessen?
Wie lösen es andere große Systeme?
Beispiel OXID oder Wordpress: Die setzen alles in einen Ordner. (Außer man aktiviert die Datumsordner bei WP. Bei Oxid wird es noch in Kategorie und hauptbild1,hauptbild2 etc. unterteilt)
Muss man auf die mehrsprachige URL Rücksicht nehmen?
Danke und viele Grüße
Kommentar