Suchformular anpassen

  • Ich möchte meine Suche ändern. Nach dem Klick auf Suche soll man sofort auf die Unterseite kommen.
    Bsp.: Ich suche nach "Berlin" und komme auf meinblog.de/berlin/
    Falls es die Seite nicht gibt, wird automatisch das 404-Template eingeblendet.

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Die Suche sucht im Titel und im Content. Was wenn Du nun 30 Artikel hast, in denen Berlin als Begriff vorkommt? Und was, wenn nun jemand nach 'Berlin im Sommer' sucht? Möchtest Du zu jeder möglichen Suchanfrage eine Seite generieren?

    Was Du tun könntest, eine Suche nur nach Schlagworten durchführen und als Schlagworte halt die entsprechenden Städtenamen verwenden. Denke, da gibt es schon einige Plugins, die dem nahe kommen könnten. Falls nicht, könntest Du Dir eine entsprechende Lösung programmieren oder programmieren lassen.

  • Es sind immer wieder die selben Suchbegriffe bei mir.
    Es sollen nicht mehrere Suchergebnisse angezeigt werden, sondern halt nur um beim Beispiel zu bleiben "Berlin" oder die 404-Seite.
    Wer kann helfen?

  • Von wie vielen Begriffen reden wir?
    Für einige wenige könntest Du in der search.php gleich am Anfang eine Weiterleitung einrichten.

    PHP
    if (isset($_GET["s"]) and $_GET["s"] == "Berlin") {
    
    
        header("HTTP/1.1 301 Moved Permanently");
        header("Location: ".esc_html(home_url("/berlin/")));
        exit;
    }
  • Es sind viele verschiedene Suchbegriffe. Ich meinte vorhin damit, dass nicht mach "Berlin" "Berlin im Sommer" "Berlin Sommer" gesucht wird.
    Im eigentliche Sinne soll keine Suche durchgeführt werden. Nach dem Klick auf Suche soll man sofort auf die Unterseite kommen, die vorher in das Formular eingegeben wurde.

  • Ich verstehe zwar nicht, wie ein Besucher Deiner Seiten den Namen der zur Site gehörenden Unterseiten kennen soll, doch wenn der eingegebene Begriff gleich den Namen einer Unterseite sein sollte, dann übernehme doch diesen einfach für das Attribut action als Wert und lasse "s" weg. Wenn dann action="Eingabe-Begriff" der Eingabe-Begriff nicht als Unterseite existiert, wird wohl die 404.php sich melden.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!