Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Berücksichtigung vom Standard abweichender Weiterleitungen in News-/Eventreader #1498

Closed
madmaharaja opened this issue Mar 5, 2020 · 25 comments · Fixed by #1732
Closed
Assignees
Labels
Milestone

Comments

@madmaharaja
Copy link

Meines Erachtens könnte man den Hintergrund des ersten Teils dieses Featurewunsches fast schon als "Bug" bezeichnen (zwar kein Fehler im Code, aber meines Erachtens ein Fehler in der Funktionsweise). Es betrifft alle Contao-Versionen (ist also schon immer so gewesen) und lässt sich auch in der aktuellsten Demo (4.9) reproduzieren:

Wenn man eine Nachricht oder Veranstaltung veröffentlicht hat, wird sie ja i.d.R. irgendwann von Google & Co. indexiert. Nun gibt es Fälle, in denen man im Nachhinein für eine News oder ein Event die Weiterleitungsziel-Einstellung von "Standard" ändern möchte, z.B. in Weiterleitung auf "Interne Seite".

Ruft man nun in solch einem Fall die News-/Eventliste im Frontend auf und klickt auf "Weiterlesen", ist alles wunderbar: Man wird ab sofort auf das neue Weiterleitungsziel gelenkt. Ruft man jedoch die URL der Detailseite auf (News-/Eventreader), z.B. weil jemand auf den in Google indexierten Link klickt oder weil sich jemand ein Bookmark gesetzt hat oder die URL woanders verlinkt wurde, dann findet keine Weiterleitung aufs neue Weiterleitungsziel statt. Stattdessen erscheint eine leere Seite (bzw. in der Contao-Demo eine "Page not found" Meldung):
image

Meines Erachtens sollte, wenn eine vom Standard abweichende Weiterleitung eingestellt ist, die Weiterleitung auch greifen/funktionieren, wenn man die betreffende URL des News-/Eventreaders + Alias.html aufruft. (Falls jemandem die Fantasie für etwaige Anwendungsfälle fehlt, kann ich gerne noch ein paar Beispiele nachreichen).

Für den zweiten Teil dieses Featurewunsches werde ich ein eigenes Ticket erstellen, weil die beiden Dinge auch losgelöst voneinander Sinn ergeben. (Ich werde das andere Ticket anschließend an dieser Stelle referenzieren)

@m-vo
Copy link
Member

m-vo commented Mar 5, 2020

MMn ist das kein Bug. Das gleiche hast du, wenn du z.B. den Alias änderst. Was hindert dich daran in diesem Fall eine Weiterleitung einzurichten?

@fritzmg
Copy link
Contributor

fritzmg commented Mar 5, 2020

Stattdessen erscheint eine leere Seite (bzw. in der Contao-Demo eine "Page not found" Meldung):

That is the intended behaviour. See contao/news-bundle#33

@madmaharaja
Copy link
Author

madmaharaja commented Mar 5, 2020

Stattdessen erscheint eine leere Seite (bzw. in der Contao-Demo eine "Page not found" Meldung):

That is the intended behaviour. See contao/news-bundle#33

Hi @fritzmg, danke für den Hinweis/Link! Wenn ich das Ticket contao/news-bundle#33 richtig verstehe, dann weist der Verfasser ja auf das gleiche Problem hin und wünscht sich das gleiche Feature. Die Begründung contao/news-bundle#33 (comment) finde ich nicht ganz nachvollziehbar. Dann müsste ja streng genommen, das gleiche Verhalten auch für Weiterleitungen von Seiten gelten. Aber, wenn ich eine anderweitige Weiterleitung einrichte (egal, ob für eine Seite, einen Artikel, eine News oder ein Event, dann will ich doch in den meisten Fällen letztlich das erzielen, was eine 301-Weiterleitung beabsichtigt: Der dahinterliegende Content ist nicht (mehr) unter URL hier.de/xyz, sondern dort.de/xyz zu finden.

Aber, selbst wenn man das einfach mal als unterschiedliche Ansichten nebeneinander stehen lässt, dann sollte laut der Beschreibung contao/news-bundle#33 (comment) das Verhalten (404) doch eigentlich nur für externe Links gelten, nicht für "internal Links", oder? Dementsprechend könnte/sollte der Featurewunsch nach einer 301-Weiterleitung doch für interne Weiterleitungen (auf Seiten oder Artikel) gelten, oder? Tut es aber nicht (siehe Screenshot oben).

MMn ist das kein Bug. Das gleiche hast du, wenn du z.B. den Alias änderst. Was hindert dich daran in diesem Fall eine Weiterleitung einzurichten?

Hi @m-vo, es hindert einen grundsätzlich niemand daran, eine Weiterleitung einzurichten -- wenn man es denn kann (für Redakteure z.B. nicht möglich). Der Aufwand ist aber ebenfalls ungleich größer (und unübersichtlicher), wenn man es z.B. mit einem htaccess-Eintrag umsetzen möchte. Auch hier wäre die Frage: Warum sollte es für Weiterleitungen von Seiten funktionieren und legitim sein, für News oder Events aber nicht?

@fritzmg
Copy link
Contributor

fritzmg commented Mar 5, 2020

Aber, selbst wenn man das einfach mal als unterschiedliche Ansichten nebeneinander stehen lässt, dann sollte laut der Beschreibung contao/news-bundle#33 (comment) das Verhalten (404) doch eigentlich nur für externe Links gelten, nicht für "internal Links", oder?

Nein, die 404 Seite wird angezeigt wenn source != 'default'. Also immer dann, wenn die Nachricht keinen Detailinhalt hat.

@madmaharaja
Copy link
Author

Nein, die 404 Seite wird angezeigt wenn source != 'default'. Also immer dann, wenn die Nachricht keinen Detailinhalt hat.

Grundsätzlich macht es natürlich Sinn eine 404-Seite anzuzeigen, wenn kein Inhalt vorhanden ist. Aber, wenn man eine Weiterleitung eingerichtet hat, dann hat man doch explizit festgelegt, was/wo der eigentliche Detailinhalt sein bzw. zu finden sein soll (der aber ausnahmsweise nicht am Standartort, sondern eben woanders "abgelegt" ist). Dann kann es doch weder aus User-, noch aus Webmaster-Sicht die beste Lösung sein, stattdessen eine Fehlerseite anzuzeigen?!

@fritzmg
Copy link
Contributor

fritzmg commented Mar 5, 2020

Mit "Weiterleitungsziel" ist bei einer Nachricht gemeint, wohin der Link einer Nachricht in der Newsliste bzw. Newsarchiv zeigen soll. Man legt damit nicht wirklich eine Weiterleitung die Detailseite einer Nachricht fest.

@madmaharaja
Copy link
Author

Mit "Weiterleitungsziel" ist bei einer Nachricht gemeint, wohin der Link einer Nachricht in der Newsliste bzw. Newsarchiv zeigen soll. Man legt damit nicht wirklich eine Weiterleitung die Detailseite einer Nachricht fest.

Dass das der Fall ist, habe ich ja bemerkt – darum dieses Ticket. 😀
Ich verstehe halt nach wie vor nicht, warum das das bessere oder gar gewünschte Verhalten sein soll? In welchem Anwendungsfall sollte man je einerseits explizit eine Weiterleitung für eine News angeben (anstatt sie zu löschen/deaktivieren) und andererseits als gewünschten Outcome haben, dass ein Besucher auf eine 404-Seite gerät?

@m-vo
Copy link
Member

m-vo commented Mar 5, 2020

Aus Sicht der Detailseite ist das eine vorhandener Content (200), das andere nicht (404). Die "Weiterleitung" ist nur ein externer Link des Listers und keine Weiterleitung (30*) - das wäre ja ein unnötiger Redirect.

Dein Problem mit der Suchmaschinen Indexierung tritt nur beim Wechseln der Modi auf. Ob das ein sinnvolles Feature ist (automatische Redirects anzulegen) kann man ja diskutieren, aber es ist imo kein Bug.

(Und der Inhalt deiner Zielseite ist ja auch anders, also vlt. ist es auch ein "Feature", dass beim alten Content eine 404 kommt. 😄 )

@madmaharaja
Copy link
Author

Aus Sicht der Detailseite ist das eine vorhandener Content (200), das andere nicht (404). Die "Weiterleitung" ist nur ein externer Link des Listers und keine Weiterleitung (30*) - das wäre ja ein unnötiger Redirect.

Dein Problem mit der Suchmaschinen Indexierung tritt nur beim Wechseln der Modi auf. Ob das ein sinnvolles Feature ist (automatische Redirects anzulegen) kann man ja diskutieren, aber es ist imo kein Bug.

(Und der Inhalt deiner Zielseite ist ja auch anders, also vlt. ist es auch ein "Feature", dass beim alten Content eine 404 kommt. 😄 )

In den Fällen, wenn eine News oder ein Event gelöscht oder deaktiviert wurde oder wenn der Alias geändert wurde, leuchtet mir ja völlig ein, warum dieses Verhalten gewünscht ist und Sinn macht (200 vs. 404). Wurde aber die Standardweiterleitung geändert (ob von vornherein oder anschließend), fällt mir keine logische Erklärung ein, weshalb eine 404-Statusmeldung je wünschenswerter oder sinnvoller sein sollte, als eben die 30*-Weiterleitung auf die Seite, die vom Websitebetreiber dafür ausdrücklich festgelegt wurde. Fällt dir ein solcher Fall ein, in dem das aus Sicht eines Users oder des Websitebetreibers wirklich sinnvoller sein könnte, eine 404-Fehlermeldung angezeigt zu bekommen?

Dass URLs mit dem Alias einer weitergeleiteten News/Veranstaltung quasi "unerwünschte URLs" sind, darauf deutet ja auch der Umstand hin, dass diese aus der XML-Sitemap verschwinden, sobald eine Weiterleitung vorliegt. Wenn "unerwünschte URLs" einmal in der Welt sind, ist das Mittel der Wahl dagegen doch letztlich eine 30*-Weiterleitung.

Ich will mich ja auch nicht festbeißen, ob das nun per Definition ein echter Bug sein möge oder nicht (habe ich ja auch eingangs genauso formuliert und beim Anlegen des Issues habe ich außerdem auch nicht "Bug", sondern "Featurewunsch" ausgewählt).

@fritzmg
Copy link
Contributor

fritzmg commented Mar 9, 2020

Wurde aber die Standardweiterleitung geändert (ob von vornherein oder anschließend), fällt mir keine logische Erklärung ein, weshalb eine 404-Statusmeldung je wünschenswerter oder sinnvoller sein sollte, als eben die 30*-Weiterleitung auf die Seite, die vom Websitebetreiber dafür ausdrücklich festgelegt wurde. Fällt dir ein solcher Fall ein, in dem das aus Sicht eines Users oder des Websitebetreibers wirklich sinnvoller sein könnte, eine 404-Fehlermeldung angezeigt zu bekommen?

Eine 301 Weiterleitung bedeutet, dass der Inhalt, der zuvor unter dieser URL gefunden wurde, nun unter der neuen URL zu finden ist. Das ist höchstwahrscheinlich nicht für ausnahmslos alle Nachrichten mit interner oder externer Link-Zielseite der Fall.

@m-vo
Copy link
Member

m-vo commented Mar 9, 2020

Fällt dir ein solcher Fall ein, in dem das aus Sicht eines Users oder des Websitebetreibers wirklich sinnvoller sein könnte, eine 404-Fehlermeldung angezeigt zu bekommen?

Immer :-) 404 ist die ehrliche Response: Diese Resource gibt es nicht (mehr).

Du möchtest "State" einführen - nämlich, dass sich ein Modul anders verhält, wenn es zuvor anders konfiguriert war.

@madmaharaja
Copy link
Author

Eine 301 Weiterleitung bedeutet, dass der Inhalt, der zuvor unter dieser URL gefunden wurde, nun unter der neuen URL zu finden ist. Das ist höchstwahrscheinlich nicht für ausnahmslos alle Nachrichten mit interner oder externer Link-Zielseite der Fall.

Mir fallen nur Beispiele ein, wo es der Fall wäre. Hast du ein anderes Beispiel? Und selbst, wenn es "höchstwahrscheinlich nicht für ausnahmslos" der Fall ist, dann bedeutet es doch auch, dass es höchstwahrscheinlich für die überwiegende Mehrheit der Fälle gilt. Deshalb verstehe ich nicht die Opposition zum Vorschlag.

Immer :-) 404 ist die ehrliche Response: Diese Resource gibt es nicht (mehr).

Nochmal: Wenn man eine News löscht, deaktiviert oder auch den Alias abändert, dann stimmt das, was du schreibst. Ich rede aber von dem Fall, wenn man eine Weiterleitung einrichtet (unabhängig davon, ob es von vornherein so konfiguriert war oder anschließend erst dahingehend verändert wurde) -- dann gibt es doch sehr wohl einen, auch noch ausdrücklich definierten, anderen Ort, wo die Ressource oder der Ersatz dafür zu finden ist. Ist in diesem Fall dem User (oder dem Webmaster) wirklich je geholfen, wenn statt des definierten Weiterleitungsinhaltes eine 404-Seite angezeigt wird? Ich behaupte nein (freue mich aber, plausible Gegenbeispiele zu hören, die hier bislang fehlen).

Du möchtest "State" einführen - nämlich, dass sich ein Modul anders verhält, wenn es zuvor anders konfiguriert war.

Wie man das Kind nachher nennt, ist mir offen gesagt egal -- mir geht es darum, was meiner Ansicht nach die userfreundlichere und sinnvollere Funktionsweise scheint.

@fritzmg
Copy link
Contributor

fritzmg commented Mar 9, 2020

Mir fallen nur Beispiele ein, wo es der Fall wäre. Hast du ein anderes Beispiel? Und selbst, wenn es "höchstwahrscheinlich nicht für ausnahmslos" der Fall ist, dann bedeutet es doch auch, dass es höchstwahrscheinlich für die überwiegende Mehrheit der Fälle gilt. Deshalb verstehe ich nicht die Opposition zum Vorschlag.

Nenne einen konkreten Use-Case.

@asaage
Copy link

asaage commented Mar 9, 2020

Meines Erachtens sollte, wenn eine vom Standard abweichende Weiterleitung eingestellt ist, die Weiterleitung auch greifen/funktionieren, wenn man die betreffende URL des News-/Eventreaders + Alias.html aufruft.

Ich würde dem rein schon aus Konsitenzgründen zustimmen - bei Seiten verhält es sich schließlich auch so.
Eine Weiterleitungsseite funktioniert mit ihrem Alias + Redirect obwohl sie in Menüs mit direktem Link dargestellt wird.

@madmaharaja
Copy link
Author

Nenne einen konkreten Use-Case.

Gerne:
Wir veröffentlichen alle unsere Stellenangebote als News. Zum einen, weil eine neue Stelleneröffnung eine relevante Neuigkeit ist, zum anderen, weil es den netten Nebeneffekt hat, dass das Stellenagebot dadurch automatisch an unterschiedlichen dafür vordefinierten Stellen angezeigt werden kann (z.B. "Newsliste allgemeine Neuigkeiten", "Newsliste Stellenangebote des betreffenden Standorts", "Newsliste Stellenangebote aller Standorte unserer Organisation in Deutschland").
Der Link zum Stellenangebot (News-Detailseite/Reader) wird auf diversen Jobangebotsportalen, auf Social Media und in unserem Newsletter veröffentlicht.
Sobald die Stelle besetzt wird, hätte man u.a. folgende Optionen:

  1. Ich lösche/deaktiviere die Anzeige. Die betreffende Information existiert also weder an alter, noch an einer anderen Stelle -- somit wäre 404 die einzig korrekte Antwort.
  2. Ich aktualisiere den Eintrag um den Hinweis "diese Stelle wurde mittlerweile besetzt" -- somit ist "200" die einzig korrekte Antwort.
  3. Ich möchte das userfreundlichste Ergebnis erzielen und leite die News stattdessen auf die Übersichtsseite mit allen aktuellen Stellenangeboten weiter. Unter Umständen findet er (wenn er via Google, Social Media oder Newsletter die alte URL aufruft) dort ein anderes, ähnliches Stellenangebot, das für ihn interessant ist -- allemal hilfreicher als eine 404-Seite. Durch die existenten Backlinks haben wir außerdem den positiven Nebeneffekt, dass etwaige "Linkpower" an die neue definierte Stelle (Stellenangebotsübersicht) weitervererbt wird, statt dass sie verlorengeht. Dieses Outcome lässt sich jedoch nur mit einer 301-Weiterleitung erreichen.
    Im Idealfall entferne ich den betreffenden Eintrag jedoch aus den Newslisten, z.B. durch die Hervorheben-Funktion, durch Verschieben in ein Newsarchiv, das nicht in den Newslisten auftaucht oder durch Möglichkeit, News-/Events aus News-/Eventlisten auszublenden (ohne Deaktivierung) #1500

@fritzmg
Copy link
Contributor

fritzmg commented Mar 9, 2020

Das ist ein spezieller Use-Case, den man sicher nicht generell auf alle Nachrichten anwenden kann. Und wie gesagt, 301 Status bedeutet:

The URL of the requested resource has been changed permanently. The new URL is given in the response.

Dass die alte URL auf eine Übersichtsseite leitet, wäre also falsch.

@madmaharaja
Copy link
Author

Nirgends ist festgelegt, dass eine Weiterleitung nur auf 100%ig identischen Content erfolgen darf und sonst gar nicht (dann dürfte man streng genommen auch Inhalte unter einer bestimmten URL nie verändern). Im Gegenteil -- die Redirects sind ja nicht aus Prinzip eingeführt worden oder, um irgendwelche Maschinen zufriedenzustellen, sondern, um sicherzustellen, dass User das (wieder)finden, was sie suchen. Wenn eine Website gerelaunched wird und die Struktur und Inhalte einer Seite ändern sich, dann wird jeder Webmaster mit Sinn und Verstand die alten URLs auf neue URLs weiterleiten, die am besten passen, auch wenn sich Inhalte en Detail geändert haben mögen. In oben beschriebenem Fall ist vielleicht die Stelle "Sozialarbeiter in der Einrichtung X" nicht mehr verfügbar, aber durch die Weiterleitung kann ich sicherstellen, dass der User auf Anhieb die Stellenanzeigen zu "Sozialarbeiter in Einrichtung Y" und "Einrichtung Z" findet. Bitte beantworte mir doch mal: Für wen (User, Webmaster, Googlebot, W3-Consortium ...) könnte in genanntem Beispiel die Anzeige einer 404-Seite zielführender, zufriedenstellender oder ernsthaft besser sein, als die Weiterleitung?

Aber gerne auch nochmal ein weiteres Beispiel aus meiner Praxis:
Zu einem frühen Zeitpunkt wird eine News veröffentlicht "Save the date: An Datum X planen wir Veranstaltung Y durchzuführen". Wochen später stehen alle Details fest, außerdem wurde festgelegt, dass wir daraus eine jährliche Sache machen. Deshalb wird nun ein eigener Untermenüpunkt dafür eingerichtet mit einer eigenen Seite für dieses Event. Der Newseintrag wird nun weitergeleitet auf die neue Landingpage, weil dort nun alle relevanten Infos stehen und laufend aktualisiert werden (und nicht redundant gepflegt werden sollen). Dass unter der alten URL eine 404-Seite erscheint, würde einem Besucher nicht nur eine schlechte User-Experience vermitteln, sondern möglicherweise denkt sich dieser, dass das Event gar nicht mehr stattfindet -- die denkbar schlechteste Lösung.

Umgekehrt: Kannst du mir bitte ein Beispiel nennen, wo die von mir vorgeschlagene Funktionalität negative Auswirkungen haben könnte? Oder fällt dir ein Szenario, wo die 404-Seite (in dem Fall, wo eine Weiterleitung eingerichtet wurde) einen Mehrwert für User oder Webmaster darstellen könnte, im Gegensatz zur Weiterleitung?

@madmaharaja
Copy link
Author

madmaharaja commented Apr 28, 2020

Neuer Monat, neues Glück -- und wieder einmal habe ich am selben Punkt ein Problem:
Im März haben wir einen Newsbeitrag zu allen Aktivitäten unserer Organisation im Rahmen der Coronapandemie veröffentlicht. Wie es bei "developing Stories" nicht unüblich ist, aktualisieren wir den Newsbeitrag laufend, wenn es neue Informationen gibt. Nun konnte niemand zu Anfang ahnen, dass die ganze Corona-Geschichte auch hier zu einer so großen und langwierigen Sache werden würde. Deshalb haben wir uns mittlerweile dazu entschlossen, die Inhalte des Newsbeitrages auf eine eigene Unterseite im Webangebot umzuziehen (!), wo wir vom Seitenlayout mehr Möglichkeiten haben (individuelle Inhalte im Headerbereich und der Seitenspalte, was im Seitenlayout des Newsreaders nicht möglich ist).

Deshalb haben wir auch die Weiterleitung des Newsbeitrages von "Standard" auf "Interne Seite" geändert -- wir wollen ja schließlich, dass man nun zur neuen Seite gelangt, wenn man auf den Corona-Beitrag in der Newsliste klickt (also "domain.xy/corona-seite" statt "domain.xy/newsreader/coronanews"). Doch in diversen Social-Media-Beiträgen, auf Google sowie in Online-Anzeigen wird noch die alte URL verwendet. Wenn die "Weiterleitung" nun auch wirklich wie eine "Weiterleitung" funktionieren würde (analog zur Weiterleitungsfunktionalität, wie es auch bei den Seiten in Contao der Fall ist), dann wäre dies kein Problem. Es wird aber nun bei Aufruf der alten URL weiterhin die Newsreaderseite geladen, in der aber keine Inhalte mehr, sondern nunmehr eine Ziffer "1" zu sehen ist.

Deshalb, nachdem ich nun schon etliche Praxisbeispiele gebracht habe, würde mich von den Kritikern mal interessieren:
Könnt ihr mir bitte ein umgekehrtes Beispiel nennen, wo die von mir vorgeschlagene Funktionalität negative Auswirkungen haben könnte? Oder fällt euch ein Szenario, wo die 404-Seite (in dem Fall, wo eine Weiterleitung eingerichtet wurde) einen Mehrwert für User oder Webmaster darstellen könnte, im Gegensatz zur Weiterleitung?

@leofeyer
Copy link
Member

leofeyer commented May 1, 2020

Ich sehe das ehrlich gesagt so wie @madmaharaja. Wenn eine News eine interne Weiterleitung ist, sollte man beim Aufruf der News-URL auf das Weiterleitungsziel weitergeleitet werden. So ist es ja auch beim Seitentyp "interne Weiterleitung". @contao/developers WDYT?

@leofeyer leofeyer added the up for discussion Issues and PRs which will be discussed in our monthly Mumble calls. label May 1, 2020
@fritzmg
Copy link
Contributor

fritzmg commented May 1, 2020

Fine with me. I suggested that originally anyway ;)

@m-vo
Copy link
Member

m-vo commented May 1, 2020

I'm not sure I agree. 😄

Which type of redirect would you expect? 303? And why should it be any different for external redirects?

@leofeyer
Copy link
Member

leofeyer commented May 2, 2020

And why should it be any different for external redirects?

It should not.

@aschempp
Copy link
Member

aschempp commented May 2, 2020

Not sure, but it can‘t really harm, right?

@madmaharaja
Copy link
Author

Not sure, but it can‘t really harm, right?

I also can't think of a scenario where it would harm to forward a visitor to a URL that was explicitly chosen by the webmaster to be the destination URL in a news or event -- quite the contrary.

@leofeyer leofeyer added bug and removed up for discussion Issues and PRs which will be discussed in our monthly Mumble calls. labels May 12, 2020
@leofeyer leofeyer added this to the 4.9 milestone May 12, 2020
@leofeyer
Copy link
Member

Related: #1707

@leofeyer leofeyer self-assigned this May 12, 2020
leofeyer added a commit that referenced this issue May 12, 2020
… default URL (see #1732)

Description
-----------

| Q                | A
| -----------------| ---
| Fixed issues     | Fixes #1707 #1498
| Docs PR or issue | -

Commits
-------

972627f Redirect if a news/event has an external target and is called via the default URL
ef11121 Show the teaser if there are no details
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 18, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants