Redirect beim Löschen eines Inhalts in D9
Eingetragen von jjjj (130)
am 29.11.2021 - 10:43 Uhr in
am 29.11.2021 - 10:43 Uhr in
Hallo,
für eine "SEO-Optimierung" möchte ich in D9 nach dem Löschen von Inhalten eines bestimmten Inhaltstyps deren URLs auf eine bestimmte Node redirecten.
Erste Gedanke wäre Rules. Aber das liegt leider nur in eine alpha-Version für D8/9 vor.
es gibt auch ein eigenes Modul für meinen gedachten Einsatz:
https://www.drupal.org/project/node_delete_redirect
das scheint aber kaum jemand zu nutzen.
Nehmt ihr Rules in D9 oder würdet ihr eher eine andere Lösung wählen? Wenn ja welche?
Danke im Voraus!
- Anmelden oder Registrieren um Kommentare zu schreiben
hmm.Ich stelle gerade fest,
am 29.11.2021 - 14:48 Uhr
hmm.
Ich stelle gerade fest, dass https://www.drupal.org/project/node_delete_redirect überhaupt nicht tut, was ich möchte.
Das leitet den User nur nach dem Löschen weiter.
Ich brauche dann wohl eher etwas, dass beim Löschen von Inhalten neue Redirects auf eine bestimmte Node erstellt. Also 301er erstellt.
In Redirect kann ich nur immer nur eine URL per Hand eintragen.
das müsste man beim Löschen von mehreren/vielen Nodes irgendwie automatisieren können...
Nimm event condition action
am 01.12.2021 - 06:40 Uhr
Nimm event condition action kurz eca
https://drupal-tv.de
Drupal sehen und lernen
bekomme ich bei mir nicht zum
am 02.12.2021 - 16:52 Uhr
bekomme ich bei mir nicht zum laufen. Das Modul selbst kann ich installieren, aber man keine neuen ECA erstellen. Der Punkt fehlt mir im Backend.
scheint als brächte man zusätzlich bpmn_io , das lässt sich mit composer leider nicht installiert:
Problem 1
- Root composer.json requires drupal/bpmn_io ^1.0@beta -> satisfiable by drupal/bpmn_io[1.0.0-beta1].
- drupal/bpmn_io 1.0.0-beta1 requires drupal/eca_modeller_bpmn * -> found drupal/eca_modeller_bpmn[dev-1.0.x, 1.0.0-alpha4, 1.0.0-beta1, 1.0.x-dev (alias of dev-1.0.x)] but it does not match your minimum-stability.
Dann installiere beide Module
am 02.12.2021 - 18:28 Uhr
Dann installiere beide Module gleichzeitig mit composer in der verfügbaren Version. Also sowohl drupal/bpmn_io als auch drupal/eca_modeller_bpmn in einem composer Aufruf.
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
ich habe die letze Version
am 05.12.2021 - 14:08 Uhr
ich habe die letze Version von D9 installiert.
composer require 'drupal/eca:^1.0@beta' 'drupal/bpmn_io:^1.0@beta'
liefert leider den gleichen Fehler :-(
dev-Version notwendig
am 05.12.2021 - 20:10 Uhr
Das Problem hatte ich auch. Hoffe, dass die nächste Beta das Problem löst. Hab folgendes gemacht:
composer require 'drupal/eca:1.0.x-dev@dev'
composer require 'drupal/bpmn_io:1.0.x-dev@dev'
Und dann musste ich noch in composer.json folgendes setzen:
"minimum-stability": "dev",
"prefer-stable": true
https://www.holydevelopers.net
class HolyDeveloper implements abstract type Jesus
Danke! wenn
am 06.12.2021 - 08:53 Uhr
Danke!
wenn man
"minimum-stability": "dev"
setzt, dann geht es auch mit den Betas
so. Jetzt habe ich mir das
am 08.12.2021 - 09:22 Uhr
so. Jetzt habe ich mir das ECA etwas angeschaut. Macht auf jeden Fall einen guten Eindruck!
Aber:
ich möchte folgendes erreichen und scheitere:
beim Löschen einer Note vom Inhaltstyp XXX soll ein 301 erstellt werden. von der URL der gelöschten Note auf eine vordefinierte URL.
Im Redirect Modul kann man sowas per Hand für jede URL einzeln machen.
xxx.com/alte_node -> xxx.com/vordefinierte_url
Aber ich finde keine passende "Action" die ich mit ECA auslösen kann.
Dann ist es jetzt Zeit dass
am 09.12.2021 - 08:12 Uhr
Dann ist es jetzt Zeit dass als Support requeat in die Issues des Moduls zu klopfen. Der Fall scheint allgemein gut brauchbar. Aber wenn der Maintainer nix davon weiß, wird schwierig die Funktion implementieren zu lassen.
https://drupal-tv.de
Drupal sehen und lernen
das habe ich eben
am 09.12.2021 - 08:54 Uhr
das habe ich eben gemacht:
https://www.drupal.org/project/eca/issues/3253459
Drupal-Slack #eca
am 09.12.2021 - 09:15 Uhr
Wunderbar, wie ich das beobachten kann, reagieren die ECA-Entwickler zügig auf issues. Außerdem sind sie auch gut erreichbar im Drupal-Slack im Channel #ECA.
https://www.holydevelopers.net
class HolyDeveloper implements abstract type Jesus
Hallo zusammen, schön dass
am 09.12.2021 - 10:13 Uhr
Hallo zusammen, schön dass hier schon über ECA diskutiert wird. Freut mich sehr.
Eine Action für einen URL Redirect gibt es allerdings schon, die kommt aus dem Action Modul von Drupal Core und erscheint in der Action Liste unter "Redirect to URL" und in Deutsch als "Umleiten zu URL". Könnt Ihr bitte nochmal schauen, ob die bei Euch nicht doch auch vorhanden ist?
https://www.drupal.org/u/jurgenhaas
Hallo, schön dass hier
am 09.12.2021 - 10:28 Uhr
Hallo, schön dass hier mitgelesen und mitgeholfen wird!
ein einfacher Redirect klappt bereits mit "Redirect to URL". Da wird aber nur der Benutzer nach dem Löschen (oder welcher Aktion auch immer) auf die angegebene URL weitergeleitet.
Ich möchte aber, dass mehrere URLs, die gelöscht werden sollen, aber für SEO noch wichtig sein könnten, auf eine sinnvolle andere URL weitergeleitet werden, wenn diese "gecralled" werden.
Sowas wie:
gelöschte Node mit URL:
xxx.com/toller-news-artikel
soll nach dem Löschen beim Aufruf der URL xxx.com/toller-news-artikel auf
xxx.com/news
zeigen.
im Redirect Modul sehen kann man das von Hand machen. ist bei vielen Nodes natürlich blöd. Siehe Anhang.
Ich hoffe, jetzt ich klarer was gemeint ist.
Mit dem Modul "ECA
am 09.12.2021 - 10:41 Uhr
Mit dem Modul "ECA Miscellaneous", das Du separat einschaltn musst, bekommst Du noch weitere Events wie z.B.
- Start dispatching request
- Route building finished
Damit könntest Du Dich mit der Logik an den Anfang eines Seitenaufrufs einklinken und dann bestimmte Bedingungen abfragen, um dann am Ende ggf. einen Redirect mit der oben genannten Action zu machen.
Allerdings kommt hier ein Problem mit ins Spiel, welches mit gelöschten Inhalten zusammenhängt. Du willst ja abfragen, welchen Content-Typ die aufgerufene aber gelöschte Node hat. Eine gelöschte Node hat aber keinen Content-Typ mehr, denn sie existiert ja nicht mehr. Wenn Du also keine andere Rest-Spuren zu den gelöschten Elementen mehr hast, dürfte Dein Vorhaben vermutlich gar nicht mehr möglich sein, egal welche Technik Du einsetzt.
Dies ist u.a. ein Grund, weshalb wir bei allen Websites, die durch ein CMS betrieben werden, immer die Lösch-Funktion abschalten und kategorisch verbieten. Inhalte, die nicht mehr veröffentlicht werden sollen, werden bei uns nie gelöscht sondern archiviert. Wenn das hier auch der Fall wäre, dann könnte ein solches bedingtes Redirect auch gemacht werden.
https://www.drupal.org/u/jurgenhaas