Relaunch Website: .htm zu .html
Bruno Thomann
- sonstiges
1 Auge- sonstiges
- webdesign
- webserver
0 Christian Kruse
0 TS2 Emil0 Bruno Thomann
Guten Tag!
Habe als Gelegenheitsprogrammierer hier schon manche kompetente, hilfreiche Tipps bekommen. Hier nochmals Danke!
Nun habe ich folgendes Problem:
Eine ca. 10 Jahre alte Website verwendet für alle (ca. 20 Unter-)Seiten das Suffix .htm. Und so erscheinen sie in Google auch. Eine modernere (responsive) Website ist mittlerweile erstellt: Inhalte, Struktur und Unterseiten sind weitestgehend gleich geblieben, nur die Endungen sind jetzt alle .html.
Wie gehe ich korrekt bei einem Relaunch vor, damit das bisherige, in Jahren gewachsene, ausgezeichnete Google-Ranking nicht beeinträchtigt wird?
Danke für jeden Hinweis!
Hallo
Eine ca. 10 Jahre alte Website verwendet für alle (ca. 20 Unter-)Seiten das Suffix .htm. Und so erscheinen sie in Google auch. Eine modernere (responsive) Website ist mittlerweile erstellt: Inhalte, Struktur und Unterseiten sind weitestgehend gleich geblieben, nur die Endungen sind jetzt alle .html.
Wie gehe ich korrekt bei einem Relaunch vor, damit das bisherige, in Jahren gewachsene, ausgezeichnete Google-Ranking nicht beeinträchtigt wird?
Das einfachste wird sein, den neuen Seiten die alten Dateinamen inklusive „.htm“ als Endung zuzuweisen. Dazu solltes es natürlich zu jedem alten Dokument eine neue Entsprechung geben. Andernfalls kannst du mit Redirects in einer .htaccess-Datei arbeiten, wenn du denn den Apachen als Webserver verwendest. Bei anderen Webservern werden andere, aber vergleichbare Mechanismen verwendet.
Beispiel (ungetestet):
Redirect 301 /index.htm https://example.com/index.html
Redirect 301 pfad/zum/impressum.htm https://example.com/rechtliches/index.html
Tschö, Auge
Hallo Auge,
Beispiel (ungetestet):
Redirect 301 /index.htm https://example.com/index.html Redirect 301 pfad/zum/impressum.htm https://example.com/rechtliches/index.html
Das würde ich allgemeiner fomulieren:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*)\.htm$ $1.html [L,R=301]
Im Grunde müsste man noch eine Absicherung einbauen, ob die Ziel-URL existiert, aber da hab ich gerade nicht im Kopf, wie man das umsetzen würde; das müsste ich erst nachlesen.
LG,
CK
Hallo
Das würde ich allgemeiner fomulieren:
RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule (.*)\.htm$ $1.html [L,R=301]
Im Grunde müsste man noch eine Absicherung einbauen, ob die Ziel-URL existiert, aber da hab ich gerade nicht im Kopf, wie man das umsetzen würde; das müsste ich erst nachlesen.
Das setzt aber voraus, dass sich die Dateinamen abseits der Endung nicht verändert haben, oder?
Tschö, Auge
Hallo Auge,
Das setzt aber voraus, dass sich die Dateinamen abseits der Endung nicht verändert haben, oder?
Ja. Das war doch die Ausgangslage? Ich zitiere aus dem OP:
Inhalte, Struktur und Unterseiten sind weitestgehend gleich geblieben, nur die Endungen sind jetzt alle .html.
Hervorhebung von mir.
LG,
CK
Hallo
Das setzt aber voraus, dass sich die Dateinamen abseits der Endung nicht verändert haben, oder?
Ja. Das war doch die Ausgangslage? Ich zitiere aus dem OP:
Inhalte, Struktur und Unterseiten sind weitestgehend gleich geblieben, nur die Endungen sind jetzt alle .html.
Hervorhebung von mir.
Die Nachfrage war auch eher für mich, ob ich den Code richtig verstanden habe. Ich arbeite äußerst selten mit solchen Regeln.
Tschö, Auge
Hallo Auge,
Das setzt aber voraus, dass sich die Dateinamen abseits der Endung nicht verändert haben, oder?
nur die Endungen sind jetzt alle .html.
Bis demnächst
Matthias
Tach!
RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule (.*)\.htm$ $1.html [L,R=301]
Im Grunde müsste man noch eine Absicherung einbauen, ob die Ziel-URL existiert, aber da hab ich gerade nicht im Kopf, wie man das umsetzen würde; das müsste ich erst nachlesen.
Wenn du auf existierende Dateien umschreibst, muss ja nur die Datei existrieren. Aber eigentlich müsste man sich das sparen können, denn ob man den 404 nach dem Rewriten oder vorher bekommt, bleibt sich doch gleich.
dedlfix.
Hallo dedlfix,
Wenn du auf existierende Dateien umschreibst, muss ja nur die Datei existrieren.
Ja. Und das müsste man in dem Regelsatz noch prüfen.
Aber eigentlich müsste man sich das sparen können, denn ob man den 404 nach dem Rewriten oder vorher bekommt, bleibt sich doch gleich.
Nein, IMHO macht das einen Unterschied. 301 => 404 ist etwas anderes als direkt 404.
LG,
CK
Tach!
Wenn du auf existierende Dateien umschreibst, muss ja nur die Datei existrieren.
Ja. Und das müsste man in dem Regelsatz noch prüfen.
Entweder denke ich zu kurz, oder die Lösung ist schon fast da. Wenn Datei oder Verzeichnis existieren, verhindern die beiden RewriteCond das umschreiben. Es muss nur ein
RewriteCond %{REQUEST_FILENAME}l -f
ergänzt werden, damit nur existierende Ziele umgeschrieben werden. Man beachte das angehängte l. Und es muss bei dieser einfachen Regel sichergestellt sein, dass keine anderen auf l endende Dateien existieren.
dedlfix.
Hallo dedlfix,
Es muss nur ein
RewriteCond %{REQUEST_FILENAME}l -f
ergänzt werden, damit nur existierende Ziele umgeschrieben werden.
Darauf wollte ich hinaus. Ich bin gerade nur zu krank, um darauf zu kommen 😉
LG,
CK
Hej Christian,
Darauf wollte ich hinaus. Ich bin gerade nur zu krank, um darauf zu kommen 😉
Gute Besserung!
Marc
Hallo marctrix,
Darauf wollte ich hinaus. Ich bin gerade nur zu krank, um darauf zu kommen 😉
Gute Besserung!
Danke – heute ist es schon wieder besser. Krank sein nervt mich ungemein 😜
LG,
CK
Hallo Christian Kruse,
Danke – heute ist es schon wieder besser.
😀
Dann schon dich trotzdem.
Bis demnächst
Matthias
Hello @all,
mal ganz dumm gefragt:
wäre das nicht eine Aufgabe für Mod Negotiiation?
Glück Auf
Tom vom Berg
Tach!
mal ganz dumm gefragt:
wäre das nicht eine Aufgabe für Mod Negotiiation?
Seh ich nicht so. "Content negotiation, or more accurately content selection, is the selection of the document that best matches the clients capabilities, from one of several available documents." Die Änderung ist nichts, was von Client beeinflusst werden soll, wie beispielsweise das Auswählen einer passenden Sprachversion.
dedlfix.
Moin,
mal ganz dumm gefragt:
wäre das nicht eine Aufgabe für Mod Negotiiation?
Seh ich nicht so. "Content negotiation, or more accurately content selection, is the selection of the document that best matches the clients capabilities, from one of several available documents." Die Änderung ist nichts, was von Client beeinflusst werden soll, wie beispielsweise das Auswählen einer passenden Sprachversion.
[•••] aber die Auswahl einer passenden Client-Version. Obn nun Antik-HTM-PC, aktueller mit CSS und Trallala, oder Mobile mit Anzeigefähigkeiten X-Y-Z. Ein Modul, das die
Die Suchmaschinenmimositäten sind selbstverständlich zu berücksichtigen. Aber dafür steht dann hoffentlich ein "moved permanentlty" bereit,
Was ist mit den speziellen Resposive-Features?
Glück Auf
Tom vom Berg
Wie gehe ich korrekt bei einem Relaunch vor, damit das bisherige, in Jahren gewachsene, ausgezeichnete Google-Ranking nicht beeinträchtigt wird?
Die URLs nicht ändern! Welchen Grund sollte es denn geben von .htm auf .html zu ändern!? MFG
Besten Dank an alle!
Bei .htm zu bleiben, scheint offenkundig am Sinnvollsten und Einfachsten zu sein. Ich meinte irgendwann mal gehört zu haben, dass Seiten mit dem veralteten (?) .htm gegenüber .html von Google im Ranking benachteiligt würden (wie immer sich das konkret zeigen würde ...). Dem ist offensichtlich nicht so.
Freundliche Grüsse
Bruno Thomann
Hallo Bruno,
Ich meinte irgendwann mal gehört zu haben, dass Seiten mit dem veralteten (?) .htm gegenüber .html von Google im Ranking benachteiligt würden (wie immer sich das konkret zeigen würde ...). Dem ist offensichtlich nicht so.
Nein, das ist völlig egal. Am besten ist es, wenn sich die URL nicht ändert. „Cool URIs don't change.“
LG,
CK