Rewrite für Feed URLs

  • Hi,

    durch Regular Expressions steige ich nicht wirklich durch und die Rewrite Funktionen von WordPress sind mir auch eher ein Rätsel, daher folgende Frage:

    Ich würde gerne beim Standardfeed eine Kategorie ausblenden und gleichzeitig eine neue Rewrite Rule für einen weiteren Feed anlegen, der die Kategorie dann wieder beinhaltet. Also

    • /feed soll umleiten auf ?feed=rss2&cat=-1 (statt ?feed=rss2)
    • z.B. /feed/all oder /all/feed oder was auch immer soll umleiten auf ?feed=rss2

    Wüsste da jemand was?

    Gruß Jeriko

    Jeriko - Design, Style, Photographie

    • 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

  • Wenn 'umleiten' bedeutet, dass man sehen darf, dass man bei Eingabe von /feed auf ?feed=rss2&cat=-1 weitergeleitet wird, dann ist das auch einfach per .htaccess möglich. Ich vermute aber, das meinst du nicht, aber man weiß ja nie. :)

    wpseek.com - Die WordPress-Code-Suchmaschine

  • Wieso soll das doppelten Content bringen? Ich verändere lediglich den Standard-Feed und lege gleichzeitig einen neuen an. Wenn man so argumentieren würde, dann würde jedes(!) WordPress-Blog vierfach doppelten Content liefern, nämlich für RSS2, RSS, Atom und RDF.

    Ich habs jetzt übrigens gelöst, sollte jemand daran interesse haben kann ichs hier noch posten.

    Gruß Jeriko

    Jeriko - Design, Style, Photographie

  • Was sollte das bringen? Für Google bedeutet das zwar eine schöne Url aber auch doppelten Content. Du solltest schauen das Du da nicht ein Problem bekommen könntest.
    Und Alphawolf hat da recht: .htaccess ist die Lösung



    google indiziert Feeds nicht mehr in der normalen Suche, daher fällt die Sorge wegen doppelten Content weg

    lg

  • Nicht alles muss für jeden einen Sinn ergeben. Aber nehmen wir mal an, du hast ein Blog mit ca. 1.000 Feed-Abonnenten. Jetzt planst du eine neue Kategorie, in der pro Tag so ca. 30-40 Beiträge erscheinen sollen, du weisst aber jetzt schon, dass das der Mehrheit deiner Leser auf die Nerven gehen wird. Also schließt du diese Kategorie aus dem Standardfeed, den jeder abonniert hat, aus, und erstellst stattdessen einen neuen Feed mit allem drum und dran, den man aber neu abonnieren muss. So kann jeder für sich entscheiden, ob er das Standardprogramm oder die volle Packung haben will :-)

    Gruß Jeriko

    Jeriko - Design, Style, Photographie

  • Alles klar

    Alles Klar jetzt, bei Dir gibt es ja auch ziemlich viel.

    Meinst Du vielleicht so etwas in der Form:


    >> * /feed soll umleiten auf ?feed=rss2&cat=-1 (statt ?feed=rss2)
    z.b.
    # Alte Feedurl weiterleiten auf /feed/all per 301:
    RewriteRule ^feed$ /feed/all [R=301, L]
    # dann richtig auflösen:
    >> * z.B. /feed/all oder /all/feed oder was auch immer soll umleiten auf ?feed=rss2
    RewriteRule ^feed/all$ index.php?feed=rss2&cat=-1 [NC, L]

    # Möglichkeiten für Kategorien:
    RewriteRule ^feed/(kategorie1|kategorie2|kategorie3)$ /index.php?feed=rss2&cat=$1 [NC, L]

    # WP hat es aber lieber so:
    RewriteRule ^feed/kategorie1$ /index.php?feed=rss2&cat=1 [NC, L]
    RewriteRule ^feed/kategorie2$ /index.php?feed=rss2&cat=2 [NC, L]

    usw.

    ich weiss nicht genau ob Du sowas meinst, wenn ja dann probiere das mal

  • (Alles in der functions.php, wahlweise eigenes Plugin)

    Um eine Kategorie aus dem Standardfeed zu nehmen, gleichzeitig aber eigenen Feed der Kategorie zu behalten:

    PHP
    <?php function filter_feed() {
    	global $wp_query;
    	
    	if(is_feed() && !is_category(123)) :
    		$wp_query->set('category__not_in',array(123));
    	endif;
    }
    
    
    add_action('pre_get_posts','filter_feed'); ?>

    Um einen neuen Feed anzulegen:

    letzteres erzeugt nach Aktualisierung der Permalinks einen neuen RSS2-Feed http://domain.tld/feed/all bzw. http://domain.tld/?feed=all. In der Funktion do_feed_all kann man vorher dann noch das $posts-Array nach Belieben modifizieren, in meinem Fall eben dafür sorgen, dass die ausgeschlossene Kategorie wieder dabei ist.

    Gruß Jeriko

    Jeriko - Design, Style, Photographie

  • *dranhäng*

    (Alles in der functions.php, wahlweise eigenes Plugin)

    Um eine Kategorie aus dem Standardfeed zu nehmen, gleichzeitig aber eigenen Feed der Kategorie zu behalten:

    PHP
    <?php function filter_feed() {
    	global $wp_query;
    	
    	if(is_feed() && !is_category(123)) :
    		$wp_query->set('category__not_in',array(123));
    	endif;
    }
    
    
    add_action('pre_get_posts','filter_feed'); ?>

    Ich bin gerade auf der Suche nach der Möglichkeit, eine Kategorie im Kommentar-Feed auszuschließen. - Was muss ich da bei obigem Code ändern?

Jetzt mitmachen!

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