WP fügt gewollten Permalinkstruktur eine zweite ungewollte Struktur hinzu. Abhilfe?

  • Guten Abend,

    ich hab folgendes Problem, zu dem ich via Forensuche und FAQ nichts gefunden habe.
    Verwende auf meinem Blog diese (/%category%/%postname%/) Permalinkstruktur. Den Posts weiße ich immer jeweils nur eine Kategorie zu. Jedoch ist mir heute aufgefallen (weil es von Google so gecrawlt wurde) dass alle meines Posts nicht nur unter dem korrekten Permalink abrufbar, sondern jeder einzelne Post auch unter /allgemein/beitragXYZ abrufbar ist.

    Beispiel:
    Dieser Post mit gewollter Permalinkstruktur wird auch als gleicher Post mit anderer ungewollter Permalinkstruktur angezeigt.

    Gibt's ne Möglichkeit das abzustellen?

    Vielen Dank für eure Antworten.

    • 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

  • Interessanterweise sind die Artikel aufrufbar, egal was da als Kategorie steht, z.b. auch:
    - example.com/xyz/innenpolitisches-glaskugelsehen/
    - example.com/blafasel/innenpolitisches-glaskugelsehen/
    - example.com/hustendrops/innenpolitisches-glaskugelsehen/
    - ...

    Habe die originale Domain nur durch example.com ersetzt, es sollen ja nun nicht unendlich viel "Doppelter Content" entstehen.

    Ist wohl ein ähnlicher Effekt wie Verwendung der Artikel-ID in der Permalinkstruktur, da darf die Adresse ein beliebiger Text sein, wenn nur die ID an der richtigen Stelle steht (z.B. am Anfang oder Ende).
    Nachtrag: Bei der Sache mit der ID scheint sich was getan zu haben, das funktioniert bei WP 2.7 nicht mehr. Bei WP 2.5.x konnte man Artikel mit der ID im Permalink noch mit jedem beliebigen Linktext aufrufen.


    Gruß
    Ingo

    Wenn ich helfen konnte, bitte [ Gefällt mir ] klicken. :-)

    Einmal editiert, zuletzt von Putzlowitsch (16. Januar 2009 um 23:05)

  • Weder noch, das Umsetzen der aufgerufenen URL, also das Auflösen des Permalinks, macht Wordpress intern.
    In der query.php ab Zeile 1818 (WP 2.7) ist dann auch die Ursache für das beobachtete Verhalten zu finden:

    PHP
    // Category stuff for nice URLs
            if ( '' != $q['category_name'] && !$this->is_singular ) {
                $reqcat = get_category_by_path($q['category_name']);
                 ...

    Hier wird die Prüfung der Kategorie nur dann ausgeführt, wenn es sich nicht um eine einzelne Seite handelt (&& !$this->is_singular). Warum das dort ausgeschlossen wird, weiß ich nicht. Ich würde es für einen Fehler halten.

    Wenn man die Prüfung auf Einzelartikel ausklammert, wird bei nicht vorhandener oder falscher Kategorie per 301er auf die richtige URL weitergeleitet.

    Gruß
    Ingo

    Wenn ich helfen konnte, bitte [ Gefällt mir ] klicken. :-)

  • Hab mir das Ganze angeschaut und sieht exakt so aus, wie du es oben dargestellt hast. Was muss ich denn nun machen, damit ich nur eine URL pro Post hab? (Bin leider nicht so die Leuchte was programmieren angeht.)

  • Ich rate zwar normalerweise davon ab, aber hier sehe ich im Moment keine andere Möglichkeit, als einen Eingriff in die WP-Datei query.php (im wp-includes Verzeichnis) durchzuführen. An der oben bereits gezeigten Stelle folgende Änderung vornehmen:

    PHP
    // Category stuff for nice URLs
            if ( '' != $q['category_name'] /*&& !$this->is_singular*/ ) {
                $reqcat = get_category_by_path($q['category_name']);

    Also den zweiten Teil im if(...) in Kommentarklammern /* ... */ enschließen. Ich kann nun auch nicht sagen, ob das eventuelle noch andere Nebenwirkungen hat, also auf eigenes Risiko machen und mich dann bitte nicht verklagen, wenn was schief geht :-)

    Gruß
    Ingo

    Wenn ich helfen konnte, bitte [ Gefällt mir ] klicken. :-)

    Einmal editiert, zuletzt von Putzlowitsch (17. Januar 2009 um 11:15)

  • Du mußt natürlich nach einem Wordpress-Update diese Änderung erneut einpflegen.
    Oder es ist tatsächlich ein Fehler, der mit der nächsten WP-Version behoben wird.

    Gruß
    Ingo

    Wenn ich helfen konnte, bitte [ Gefällt mir ] klicken. :-)

Jetzt mitmachen!

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