Url-Rewriting: flachere Url-Struktur
-
- Beiträge: 63
- Registriert: Fr 21. Jan 2011, 13:29
- Kontaktdaten:
Url-Rewriting: flachere Url-Struktur
Hallo,
ein Kunde wünscht aus SEO-Gründen eine flachere Navigationsstruktur, so zum Bsp. die erste Ebene (hier "support" entfernen):
ist: http://www.meineDomain.de/support/faq/
soll: http://www.meineDomain.de/faq/
und
ist: http://www.meineDomain.de/support/faq/frage1.html
soll: http://www.meineDomain.de/faq/frage1.html
Ist das in Contenido möglich? Man muss natürlich hier davon ausgehen das "faq" nur einmal in der zweiten Ebene vorkommt.
Die Kategorie "support" brauche ich aber einerseits im Backend um eine saubere Struktur zu haben und zum anderen für den Aufbau der Navigation, denn da soll "faq" in der zweiten Ebene unter "support" erscheinen.
Wäre für jede Idee dankbar.
ein Kunde wünscht aus SEO-Gründen eine flachere Navigationsstruktur, so zum Bsp. die erste Ebene (hier "support" entfernen):
ist: http://www.meineDomain.de/support/faq/
soll: http://www.meineDomain.de/faq/
und
ist: http://www.meineDomain.de/support/faq/frage1.html
soll: http://www.meineDomain.de/faq/frage1.html
Ist das in Contenido möglich? Man muss natürlich hier davon ausgehen das "faq" nur einmal in der zweiten Ebene vorkommt.
Die Kategorie "support" brauche ich aber einerseits im Backend um eine saubere Struktur zu haben und zum anderen für den Aufbau der Navigation, denn da soll "faq" in der zweiten Ebene unter "support" erscheinen.
Wäre für jede Idee dankbar.
Re: Url-Rewriting: flachere Url-Struktur
In Contenido ist vieles möglich.
Ich hatte das bei einem Kunden mal so gelöst, dass die SEO Links mittels Routing im AMR auf die richtigen Links geleitet werden.
So kann man das intern machen und muss nicht die htaccess bemühen.
http://forum.contenido.org/viewtopic.php?f=60&t=32705
Ich hatte das bei einem Kunden mal so gelöst, dass die SEO Links mittels Routing im AMR auf die richtigen Links geleitet werden.
So kann man das intern machen und muss nicht die htaccess bemühen.
http://forum.contenido.org/viewtopic.php?f=60&t=32705
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.
-
- Beiträge: 63
- Registriert: Fr 21. Jan 2011, 13:29
- Kontaktdaten:
Re: Url-Rewriting: flachere Url-Struktur
Also eine elegante Lösung habe ich nicht gefunden, da jeder einzelne Link an zwei Stellen umgeschrieben werden muss, aber scheint zu mindest zu funktionieren:
ist: http://domain.de/produkt-gruppe/produkt1.html
soll: http://domain.de/produkt1
ist: http://domain.de/ober-produkt-gruppe/produkt-gruppe/produkt2.html
soll: http://domain.de/produkt2
1. Contenido Backend: Extras > AMR:
a. Unter Artikelname an URLs anhängen die Checkbox Artikelname immer an die URLs anhängen (auch bei URLs zu Kategorien) auswählen.
b. Das Feld Standard-Artikelname ohne Dateiendung leer lassen.
c. Bei Dateiendung am Ende der URL die Endung .html angeben.
d. Unter Routing die Routing Definitionen für alle eingehende URLs angeben, z.B.:
[/b]
2. Ausgehende URLs: contenido/classes/uri/class.uribuilder.mr.php:
Vor dem schließenden return der Methode _buildUrl (ca. Zeile 225)
Die Kategorien durch ein String-Replace ersetzen:
[/b]
Wie gesagt, nicht elegant, aber funktioniert vorerst...
ist: http://domain.de/produkt-gruppe/produkt1.html
soll: http://domain.de/produkt1
ist: http://domain.de/ober-produkt-gruppe/produkt-gruppe/produkt2.html
soll: http://domain.de/produkt2
1. Contenido Backend: Extras > AMR:
a. Unter Artikelname an URLs anhängen die Checkbox Artikelname immer an die URLs anhängen (auch bei URLs zu Kategorien) auswählen.
b. Das Feld Standard-Artikelname ohne Dateiendung leer lassen.
c. Bei Dateiendung am Ende der URL die Endung .html angeben.
d. Unter Routing die Routing Definitionen für alle eingehende URLs angeben, z.B.:
Code: Alles auswählen
/produkt1>>>/cms/front_content.php?idart=4
/produkt2>>>/cms/front_content.php?idart=5
2. Ausgehende URLs: contenido/classes/uri/class.uribuilder.mr.php:
Vor dem schließenden return der Methode _buildUrl (ca. Zeile 225)
Die Kategorien durch ein String-Replace ersetzen:
Code: Alles auswählen
$sUrl = str_replace('/produkt-gruppe/', '/', $sUrl);
$sUrl = str_replace('/ober-produkt-gruppe/', '/', $sUrl);
$sUrl = str_replace('.html', '', $sUrl);
Wie gesagt, nicht elegant, aber funktioniert vorerst...
-
- Beiträge: 63
- Registriert: Fr 21. Jan 2011, 13:29
- Kontaktdaten:
Re: Url-Rewriting: flachere Url-Struktur
Hallo,
ich nochmal. Leider komme ich immer noch nicht mit dem Kürzen der URLs im Contenido klar , die immer mehr Kunden (aus SEO-Gründen zurecht) fordern.
Ich habe im Contenido immer noch keine Lsg. gefunden, mit der ich eingehende und ausgehende URLs kürzen kann.
Eingehende URLs kann ich über das AMR-Routing kürzen, z.B.:
D.h. URLs in der Browserzeile verlinken auf den jeweiligen normalen Artikel oder die Kategorie (also auf den Startartikel). Das für sich funktioniert.
Aber ich muss natürlich ja auch noch die ausgehenden URLs anpassen, das mache ich bisher in der Funktion _builUrl in der Datei
html-data/contenido/classes/uri/class.uribuilder.mr.php indem ich vor dem Return so was schreibe wie:
Das funktioniert noch alles soweit bei Startartikeln (eingehend und ausgehend), aber eingehende normale Artikel funktionieren damit nicht mehr.
Abgesehen, dass das wahrscheinlich nicht elegant ist und wahnsinnig umständlich für jeden neuen Artikel an zwei Stellen zu pflegen (an die schon gar nicht der Redakteur eigentlich ran soll).
Wie macht ihr das in Euren Projekten? Kurze URLs das ist doch kein Sonderwunsch mehr bei den Kunden, oder?
Wäre für jeden Tipp, Hinweis dankbar!
ich nochmal. Leider komme ich immer noch nicht mit dem Kürzen der URLs im Contenido klar , die immer mehr Kunden (aus SEO-Gründen zurecht) fordern.
Ich habe im Contenido immer noch keine Lsg. gefunden, mit der ich eingehende und ausgehende URLs kürzen kann.
Eingehende URLs kann ich über das AMR-Routing kürzen, z.B.:
Code: Alles auswählen
/produktgruppe>>>front_content.php?idcat=2
/produkt1>>>front_content.php?idart=16
Aber ich muss natürlich ja auch noch die ausgehenden URLs anpassen, das mache ich bisher in der Funktion _builUrl in der Datei
html-data/contenido/classes/uri/class.uribuilder.mr.php indem ich vor dem Return so was schreibe wie:
Code: Alles auswählen
$aRemove = [
// URL aus Contenido gewünschte SEO Kurzform
['/produktgruppe/produkt.html', '/produkt'],
['/produktgruppe/produkt1.html', '/produkt1']
];
foreach($aRemove as $item) $sUrl = str_replace($item[0], $item[1], $sUrl);
Abgesehen, dass das wahrscheinlich nicht elegant ist und wahnsinnig umständlich für jeden neuen Artikel an zwei Stellen zu pflegen (an die schon gar nicht der Redakteur eigentlich ran soll).
Wie macht ihr das in Euren Projekten? Kurze URLs das ist doch kein Sonderwunsch mehr bei den Kunden, oder?
Wäre für jeden Tipp, Hinweis dankbar!
-
- Beiträge: 63
- Registriert: Fr 21. Jan 2011, 13:29
- Kontaktdaten:
Re: Url-Rewriting: flachere Url-Struktur
Aber: Noch ein seltsames Verhalten: der Alias darf nicht genauso heißen wie die Kurzschreibweise - warum auch immer
Alles in allem: für Projekte mit vielen Seiten und URL-Umschreibung werden werden wir Contenido wohl nicht weiter verwenden : der Aufwand die Kurz-Urls umständlich an zwei Stellen (und eine davon nicht erreichbar für den Redakteur) zu pflegen und den Alias extra anders zu benennen ist einfach zu hoch.
Elegant wäre es, wenn man in den Artikeleigenschaften einfach eine Kurz-Url angeben könnte, die dann das AMR verwendet.
Alles in allem: für Projekte mit vielen Seiten und URL-Umschreibung werden werden wir Contenido wohl nicht weiter verwenden : der Aufwand die Kurz-Urls umständlich an zwei Stellen (und eine davon nicht erreichbar für den Redakteur) zu pflegen und den Alias extra anders zu benennen ist einfach zu hoch.
Elegant wäre es, wenn man in den Artikeleigenschaften einfach eine Kurz-Url angeben könnte, die dann das AMR verwendet.
Zuletzt geändert von Bernbacher am Mi 7. Mär 2018, 16:36, insgesamt 1-mal geändert.
Re: Url-Rewriting: flachere Url-Struktur
Der Alias wird sowohl für das Menü (Kategorie-Alias) vom Menümodul als auch die "sprechende URL" (Kategorie- und Artikel-Alias) vom AMR benützt.Bernbacher hat geschrieben: ↑Mi 7. Mär 2018, 11:49Aber: Noch ein seltsames Verhalten: der Alias darf nicht genauso heißen wie die Kurzschreibweise - warum auch immer
Das AMR "sucht" anhand der Aliasnamen nach den Artikeln und Kategorien.
Wenn dann nun jemand auf die Idee käme, diese Alias auch noch für etwas anderes zu benützen, dann findet das AMR nichts mehr.
Daher findet man oft auch in einer Kurzschreibweise noch eine eindeutige ID hinten angehängt, weil sich irgendwann mal die Variation von Aliasnamen erschöpft.
Besonders bei vielen Seiten.
Aus meiner SEO Zeit weiß ich, dass sehr wohl ein gewaltiger Aufwand betrieben wurde und wird, um Kurzlinks zu pflegen.Alles in allem: für Projekte mit vielen Seiten und URL-Umschreibung werden werden wir Contenido wohl nicht weiter verwenden : der Aufwand die Kurz-Urls umständlich an zwei Stellen (und eine davon nicht erreichbar für den Redakteur) zu pflegen und den Alias extra anders zu benennen ist einfach zu hoch.
Meistens geschah das in einer .htaccess
Wer möchte, kann sich seinen eigenen URL-Builder bauen oder das AMR aufbohren.Elegant wäre es, wenn man in den Artikeleigenschaften einfach eine Kurz-Url angeben könnte, die dann das AMR verwendet.
Die Logik ist klar:
Woher weiss so ein URL-Builder, dass domain.tld/produkt ein Kurzlink ist und kein Pfad zu einer Kategorie, die den dortigen Startartikel aufruft?
Wir hatten vor längerer Zeit mal die Diskussion, dass das AMR zwischen /produkt und /produkt/ unterscheiden können sollte, aber warum, wenn das international schon geregelt ist?
Das AMR sucht zuerst in den Kategorie-Alias und dann in den Artikel-Alias. Bei Deiner Vorstellung der Sache müsste es noch eine extra Datenbank-Tabelle mit den SEO-Kurzlinks geben, die zuerst durchsucht werden, ob sich dort nicht "produkt" befindet.
Logischerweise müsste diese Tabelle auch mit den Alias-Tabellen von Kategorie und Artikel abgeglichen werden, damit es keine mehrfache Auswahl gibt.
Warum?
Würde das AMR in der SEO-Tabelle "produkt" finden, würde es nicht mehr eine Kategorie namens "produkt" finden und auch keinen Artikel der so heißt.
Eindeutiger wäre das zu handhaben, wenn man z.B. die idcatart an "produkt" anhängt, z.B. so: /produkt-278
Damit wäre der Name "produkt" fast überflüssig, weil mit der idcatart eindeutig eine Kategorie und ein zugehöriger Artikel bestimmt werden könnte. Lediglich die Sprache wäre nicht eindeutig bestimmbar. Hier könnte als Hilfsmittel noch das Wort "produkt" als Hinweis auf die Sprache genommen werden.
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.
-
- Beiträge: 63
- Registriert: Fr 21. Jan 2011, 13:29
- Kontaktdaten:
Re: Url-Rewriting: flachere Url-Struktur
Danke Faar für Deine schnelle und ausführliche Antwort.
Wo ist denn diese Stelle im AMR zu finden?
Das fände ich zumindest noch eleganter als aktuell für einen Kurzlink das Routing im AMR und die Klasse class.uribuilder.mr.php anpassen zu müssen.
Und vor allem erhoffe ich mir davon, dass ich nicht nur auf Kategorien, sondern auch auf einzelne Artikel einen Kurzlink setzen könnte.
Und wenn man davor direkt davor in einer eigenen Tabelle suchen würde, ob ein Eintrag mit diesem Alias vorhanden ist? Wenn ja, dann soll er eben nicht nach Kategorie und Alias suchen, sondern dorthin gehen was entsprechend in der neuen Tabelle angegeben ist.Der Alias wird sowohl für das Menü (Kategorie-Alias) vom Menümodul als auch die "sprechende URL" (Kategorie- und Artikel-Alias) vom AMR benützt.
Das AMR "sucht" anhand der Aliasnamen nach den Artikeln und Kategorien.
Wo ist denn diese Stelle im AMR zu finden?
Das fände ich zumindest noch eleganter als aktuell für einen Kurzlink das Routing im AMR und die Klasse class.uribuilder.mr.php anpassen zu müssen.
Und vor allem erhoffe ich mir davon, dass ich nicht nur auf Kategorien, sondern auch auf einzelne Artikel einen Kurzlink setzen könnte.
Re: Url-Rewriting: flachere Url-Struktur
Ich glaube mich zu erinner, es gab scheints mal den Ansatz, das AMR entsprechend zu erweitern aber das wurde dann nie verwirklicht.
Um zu verstehen wie das AMR arbeitet, muss man sich mal intensiv damit beschäftigen und prinzipiell auch mit dem Thema URL-Building.
Wo die Stellen zu finden wären, um es entsprechen anzupassen, weiß ich auch nicht.
Ich habe das AMR nicht gemacht, ich habe es mir nur mal gründlicher angeschaut und das war noch zu 4.8 Zeiten.
Da muss sich wohl jeder selbst einarbeiten.
Mit dem AMR alleine ist es ja nicht getan, es braucht die Tabelle und es braucht vor allen Dingen ein Eingabefeld bei den Artikel-SEO Eigenschaften.
Wobei hier ja schon das Feld für einen Alias steht. Hast Du Dir das schon mal angeschaut?
Dort gibt es auch das Feld für "Short-URL", was im Prinzip genau Deinen Wunsch widerspiegelt, so wie ich das verstanden habe.
Hast Du das Plugin "URL-Shortener" mal installiert und angeschaut?
Um zu verstehen wie das AMR arbeitet, muss man sich mal intensiv damit beschäftigen und prinzipiell auch mit dem Thema URL-Building.
Wo die Stellen zu finden wären, um es entsprechen anzupassen, weiß ich auch nicht.
Ich habe das AMR nicht gemacht, ich habe es mir nur mal gründlicher angeschaut und das war noch zu 4.8 Zeiten.
Da muss sich wohl jeder selbst einarbeiten.
Mit dem AMR alleine ist es ja nicht getan, es braucht die Tabelle und es braucht vor allen Dingen ein Eingabefeld bei den Artikel-SEO Eigenschaften.
Wobei hier ja schon das Feld für einen Alias steht. Hast Du Dir das schon mal angeschaut?
Dort gibt es auch das Feld für "Short-URL", was im Prinzip genau Deinen Wunsch widerspiegelt, so wie ich das verstanden habe.
Hast Du das Plugin "URL-Shortener" mal installiert und angeschaut?
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.