WordPress RSS feed-ek kezelése

WordPress RSS feed-ek kezelése: Hogyan tartsuk meg csak a főoldali feed-et?

A WordPress alapértelmezetten számos RSS feed-et generál a weboldaladon. Ezek a feed-ek minden egyes oldalhoz, bejegyzéshez, kategóriához, címkéhez és egyéb tartalomtípushoz létrejönnek, és általában a „/feed/” végződéssel érhetők el az URL-ekben. Bár ezek hasznosak lehetnek bizonyos felhasználók számára, gyakran okozhatnak problémákat is, különösen SEO szempontból.

A probléma

Sok weboldal tulajdonos számára ezek a feed-ek feleslegesek, és inkább problémát jelentenek, mint hasznot:

  • Duplikált tartalom problémákat okozhatnak
  • Hibákat generálhatnak a Google Search Console-ban
  • Feleslegesen terhelik a szervert
  • Zavaró lehet, hogy minden URL végén elérhető egy „/feed/” változat is

Sokan tévesen azt hiszik, hogy ezeket a feed-eket valamelyik SEO plugin (például Rank Math, Yoast SEO) generálja, de valójában ez a WordPress alapfunkcionalitásának része.

A megoldás

A legtöbb esetben elegendő, ha csak a főoldali feed-et tartjuk meg, és minden más feed-et átirányítunk a főoldalra. Ez a megoldás több előnnyel is jár:

  • Megszünteti a duplikált tartalom problémákat
  • Csökkenti a szerver terhelését
  • Tisztább URL struktúrát eredményez
  • Miközben továbbra is lehetővé teszi a főoldali feed használatát azok számára, akik feliratkoztak rá

A kód, amit az „wp-includes” mappában lévő functions.php -be kell tenni (mehet a végére)

// RSS feed-ek kikapcsolása és 301-es átirányítás a főoldalra, kivéve a főoldali feedet
function disable_rss_feeds() {
    // Ellenőrizzük, hogy feed-ről van-e szó
    if (!is_feed()) {
        return;
    }
    
    // Ellenőrizzük az aktuális URL-t
    $current_url = home_url($_SERVER['REQUEST_URI']);
    $main_feed_url = home_url('/feed/');
    
    // Ha ez a főoldali feed, akkor hagyjuk működni
    if (rtrim($current_url, '/') === rtrim($main_feed_url, '/')) {
        return;
    }
    
    // Minden más feed esetén 301-es átirányítás a főoldalra
    wp_redirect(home_url(), 301);
    exit();
}

add_action('do_feed', 'disable_rss_feeds', 1);
add_action('do_feed_rdf', 'disable_rss_feeds', 1);
add_action('do_feed_rss', 'disable_rss_feeds', 1);
add_action('do_feed_rss2', 'disable_rss_feeds', 1);
add_action('do_feed_atom', 'disable_rss_feeds', 1);
add_action('do_feed_rss2_comments', 'disable_rss_feeds', 1);
add_action('do_feed_atom_comments', 'disable_rss_feeds', 1);

// RSS feed linkek eltávolítása a fejlécből, kivéve a főoldali feed-et
function modify_feed_links() {
    // Eltávolítjuk az összes feed linket
    remove_action('wp_head', 'feed_links', 2);
    remove_action('wp_head', 'feed_links_extra', 3);
    
    // Visszaadjuk csak a főoldali feed linket
    add_action('wp_head', 'add_main_feed_link', 2);
}

function add_main_feed_link() {
    echo '<link rel="alternate" type="application/rss+xml" title="' . get_bloginfo('name') . ' &raquo; Feed" href="' . esc_url(get_feed_link()) . '" />' . "\n";
}

add_action('init', 'modify_feed_links');

Hogyan működik a megoldás?

A megoldás két fő részből áll:

  1. Feed-ek átirányítása: Minden feed-et átirányítunk a főoldalra, kivéve a főoldali feed-et. Ezt 301-es (állandó) átirányítással tesszük, ami SEO szempontból is előnyös.
  2. Feed linkek kezelése: Eltávolítjuk az összes feed linket a weboldal fejlécéből, majd visszaadjuk csak a főoldali feed linket.

A kód a WordPress hook rendszerét használja, és a functions.php fájlba kell beilleszteni. A megoldás ellenőrzi, hogy az aktuális URL egyezik-e a főoldali feed URL-jével, és ennek megfelelően kezeli a kérést.

Implementáció után

A kód implementálása után érdemes ellenőrizni, hogy:

  1. A főoldali feed (yourdomain.com/feed/) továbbra is megfelelően működik
  2. Minden más feed (pl. yourdomain.com/category/name/feed/) 301-es átirányítással a főoldalra irányít
  3. A Google Search Console-ban idővel csökkennek a feed-ekkel kapcsolatos hibák

A WordPress RSS feed-ek kezelése fontos része a weboldal karbantartásának és optimalizálásának. A fenti megoldással egyszerűen megtarthatod a főoldali feed-et, miközben minden más feed-et átirányítasz, így kiküszöbölve a felesleges URL-eket és a velük járó problémákat.

Ez a megoldás különösen hasznos lehet olyan weboldalakon, ahol a tartalom rendszeresen frissül, de nincs szükség minden egyes oldal vagy kategória külön feed-jére. A WordPress alapfunkcionalitásának ez a finomhangolása segít a weboldal jobb teljesítményében és a keresőmotorok általi értékelésében.

Hugyecz Görgy (Harder)
20+ éve munkám és hobbim is az online világhoz köt. Az utóbbi 10+ évben leginkább keresőopimalizálás (SEO) témában tevékenykedem, mellette pedig Google Ads és Facebook PPC fronton is segítem ügyfeleimet. Korábban 10+ évig webgrafika, sitebuild, weboldal készítés témakörben mozogtam.

HOZZÁSZÓLOK A CIKKHEZ

Kérjük, írja be véleményét!
írja be ide nevét