¿Cómo eliminar/eliminar las URL de feed de wordpress en el encabezado?

4 minutos de lectura

avatar de usuario
Kailash Yadav

Cómo borrar/eliminar wordpress feed URL de la head etiqueta en header.php?

Ejemplo de estas URL:

<link rel="alternate" type="application/rss+xml" title="Example Business &raquo; Feed" href="http://example.com/feed/"/>
<link rel="alternate" type="application/rss+xml" title="Example Business &raquo; Comments Feed" href="http://example.com/comments/feed/"/>
<link rel="alternate" type="application/rss+xml" title="Example Business &raquo; Home Page Live Comments Feed" href="http://example.com/home/feed/"/>

No quiero usar ningún complemento para lo mismo.

Recientemente tuve la necesidad de eliminar los elementos del enlace de la URL del feed y al tratar de evitar personalizar el núcleo WordPress funciona las siguientes soluciones funciona.

Asegúrese de tener un functions.php archivo en el directorio de su tema que está utilizando. Si no, cree el archivo y edítelo. Las siguientes líneas ayudarán a eliminar líneas seleccionadas de su wp_head() función:

<?php
remove_action( 'wp_head', 'feed_links_extra', 3 ); // Display the links to the extra feeds such as category feeds
remove_action( 'wp_head', 'feed_links', 2 ); // Display the links to the general feeds: Post and Comment Feed
remove_action( 'wp_head', 'rsd_link' ); // Display the link to the Really Simple Discovery service endpoint, EditURI link
remove_action( 'wp_head', 'wlwmanifest_link' ); // Display the link to the Windows Live Writer manifest file.
remove_action( 'wp_head', 'index_rel_link' ); // index link
remove_action( 'wp_head', 'parent_post_rel_link', 10, 0 ); // prev link
remove_action( 'wp_head', 'start_post_rel_link', 10, 0 ); // start link
remove_action( 'wp_head', 'adjacent_posts_rel_link', 10, 0 ); // Display relational links for the posts adjacent to the current post.
remove_action( 'wp_head', 'wp_generator' ); // Display the XHTML generator that is generated on the wp_head hook, WP version
?>

  • Esta es una solución muy limpia. Pero tenga en cuenta que si no usa un tema hecho a sí mismo o un tema secundario, estos cambios se sobrescribirán con la próxima actualización del tema. Para evitar esto, cree un tema infantil o haga un pequeño complemento a partir de esto.

    – Gerald Schneider

    13 de enero de 2016 a las 7:42


  • Para agregar a los comentarios de Gerald, si desea agregar este código a un tema secundario, cree una nueva función en el script functions.php del tema secundario llamado algo como override_parent_actions() y luego copie y pegue el código de Kailash en esa función (menos el Etiquetas PHP, por supuesto). Inmediatamente después de la nueva función, agregue el siguiente código: add_action( ‘after_setup_theme’, ‘override_parent_actions’ ); Esto eliminará las URL del feed sin necesidad de modificar el tema principal.

    – Noel Whitemore

    19 de marzo de 2018 a las 17:51

  • Gracias @NoelWhitemore Muy buena sugerencia para superar la actualización del tema secundario.

    –Kailash Yadav

    22 de marzo de 2018 a las 7:53

  • @KailashYadav, ¿por qué se incluyen aquí los enlaces rel de paginación? ¿No son útiles para que los robots de SEO descubran más contenido de su sitio web más rápido?

    – Oksana Romániv

    7 de marzo de 2019 a las 16:42

  • Encontré el remove_action()s funcionó en mi tema secundario php SIN envolverlos en una función llamada por add_action()

    – Jim Worrall

    20 oct 2020 a las 17:10

Puede agregar este código en su tema/complemento de WordPress. para eliminar todas las etiquetas innecesarias de head, incluidas las etiquetas de feed de WordPress.

URL esencial de Github: https://gist.github.com/coder618/29782921f79235f26285847916c2a122

add_action( 'after_setup_theme', 'prefix_remove_unnecessary_tags' );

function prefix_remove_unnecessary_tags(){

    // REMOVE WP EMOJI
    remove_action('wp_head', 'print_emoji_detection_script', 7);
    remove_action('wp_print_styles', 'print_emoji_styles');

    remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
    remove_action( 'admin_print_styles', 'print_emoji_styles' );


    // remove all tags from header
    remove_action( 'wp_head', 'rsd_link' );
    remove_action( 'wp_head', 'wp_generator' );
    remove_action( 'wp_head', 'feed_links', 2 );
    remove_action( 'wp_head', 'index_rel_link' );
    remove_action( 'wp_head', 'wlwmanifest_link' );
    remove_action( 'wp_head', 'feed_links_extra', 3 );
    remove_action( 'wp_head', 'start_post_rel_link', 10, 0 );
    remove_action( 'wp_head', 'parent_post_rel_link', 10, 0 );
    remove_action( 'wp_head', 'adjacent_posts_rel_link', 10, 0 );
    remove_action( 'wp_head', 'wp_shortlink_wp_head', 10, 0 );
    remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0 );
    remove_action( 'wp_head',      'rest_output_link_wp_head'              );
    remove_action( 'wp_head',      'wp_oembed_add_discovery_links'         );
    remove_action( 'template_redirect', 'rest_output_link_header', 11 );

    // language
    add_filter('multilingualpress.hreflang_type', '__return_false');
}

  • Atención: tenga en cuenta que este código eliminará mucho más que solo las referencias RSS. ¡Prueba antes de usar!

    – Jono

    18 de marzo de 2021 a las 7:44

avatar de usuario
DOOMNEZEU

La forma más sencilla de eliminar el botón RSS FEED es más simple, simplemente vaya a Apariencia / Editor / y ELIMINAR:

 <div id="profiles" class="clearfix gutter-left">
                 <?php do_action( 'graphene_social_profiles' ); ?>
           </div>

de Theme Header (header.php) de tu tema, para mí Graphene. Otras formas no me funcionan, pero esta es muy simple!!!! ¡¡¡Probado!!! PD: Encuentra el mismo tipo de script cambiando grafeno, palabra con el nombre de tu tema.

¿Ha sido útil esta solución?