Hace un par de años atrás, había experimentado con los no tan famosos code snippets para WordPress.
Use algunos code snippets para personalizar la experiencia de WordPress y para poner anuncios de Adsense en mi sitio.
Los plugins más famosos en el repositorio de WordPress son Code Snippets Pro y Woody Ad Snippets.

Los code snippets son pequeños códigos que te permiten personalizar tu sitio, monetizarlo, mejorar su posicionamiento pero lo más importante es que te ahorras instalar algunos plugins o te ahorrar el bloat que tienen muchos plugins en el repositorio.
Estos son los mejores code snippets que pude encontrar por la web, muchos de estos los tengo en uso en mi sitios.
Table of Contents
- Remover Widgets
- Bloquear Solicitudes Largas
- Bloquear el Desactivar y Eliminar Plugins
- Remover JQuery Migrate
- Desactivar las RSS Feeds
- Remover los enlaces de las RSS Feeds
- Remover Paginas de Adjuntos de WordPress
- Desactivar el HeartBeat
- Remover la Versión de CSS y JS en WordPress
- Deshabilitar el Archivo XMLRPC
- Remover Emojis de WordPress
- Remover Query Strings
- Remover RSD Link
- Remover Short Link
- Deshabilitar Embeds
- Esconder la Versión de WordPress
- Remover WLManifest
- Deshabilitar Self Pingback
- Añadir una Meta Descripción
- Remover el DNS Prefetch a WordPress.org de la Cabecera de WordPress
- Recursos Adicionales
- Fuentes
- Información Relacionada
Remover Widgets
Este es un code snippets que puedes usar para remover widgets que no estas usando
// unregister all widgets
function unregister_default_widgets() {
unregister_widget('WP_Widget_Pages');
unregister_widget('WP_Widget_Calendar');
unregister_widget('WP_Widget_Archives');
unregister_widget('WP_Widget_Links');
unregister_widget('WP_Widget_Meta');
unregister_widget('WP_Widget_Search');
unregister_widget('WP_Widget_Text');
unregister_widget('WP_Widget_Categories');
unregister_widget('WP_Widget_Recent_Posts');
unregister_widget('WP_Widget_Recent_Comments');
unregister_widget('WP_Widget_RSS');
unregister_widget('WP_Widget_Tag_Cloud');
unregister_widget('WP_Nav_Menu_Widget');
}
add_action('widgets_init', 'unregister_default_widgets', 11);
Bloquear Solicitudes Largas
Este es un code snippet que bloquea automáticamente solicitudes largas
global $user_ID; if($user_ID) {
if(!current_user_can('administrator')) {
if (strlen($_SERVER['REQUEST_URI']) > 255 ||
stripos($_SERVER['REQUEST_URI'], "eval(") ||
stripos($_SERVER['REQUEST_URI'], "CONCAT") ||
stripos($_SERVER['REQUEST_URI'], "UNION+SELECT") ||
stripos($_SERVER['REQUEST_URI'], "base64")) {
@header("HTTP/1.1 414 Request-URI Too Long");
@header("Status: 414 Request-URI Too Long");
@header("Connection: Close");
@exit;
}
}
}
Bloquear el Desactivar y Eliminar Plugins
Este code snippets impide que los usuarios de un sitio desactiven y eliminen plugins
add_filter( 'plugin_action_links', 'disable_plugin_deactivation', 10, 4 );
function disable_plugin_deactivation( $actions, $plugin_file, $plugin_data, $context ) {
if ( array_key_exists( 'deactivate', $actions ) && in_array( $plugin_file, array(
'woocommerce/woocommerce.php'
)))
unset( $actions['deactivate'] );
return $actions;
}
Especifica el numero de los plugins que deseas controlar con este code snippets y los plugins no tendrán el botón de desactivar
Remover JQuery Migrate
JQuery Migrate es algo que ya no cargará en tu sitio a partir de la versión 5.7 de WordPress.
Para todos las versiones anteriores, puedes usar este Code Snippets para no volverlos a ver en la cascada de GTMetrix
function isa_remove_jquery_migrate( &$scripts ) { if( !is_admin() ) { $scripts->remove( 'jquery' ); $scripts->add( 'jquery', false, array( 'jquery-core' ), '1.12.4' ); } } add_filter( 'wp_default_scripts', 'isa_remove_jquery_migrate' );
Fuente: Clearfy
Desactivar las RSS Feeds
Este es un code snippet que te ayudará a desactivar las feeds de tu sitio.
// disable rss feeds on your wordpress blog
function wcs_disable_rss_feeds() {
wp_die( __( 'Feed is not available. Please return back to the <a href="'. get_bloginfo( 'url' ) .'">homepage</a>!' ) );
}
add_action( 'do_feed', 'wcs_disable_rss_feeds', 1 );
add_action( 'do_feed_rdf', 'wcs_disable_rss_feeds', 1 );
add_action( 'do_feed_rss', 'wcs_disable_rss_feeds', 1 );
add_action( 'do_feed_rss2', 'wcs_disable_rss_feeds', 1 );
add_action( 'do_feed_atom', 'wcs_disable_rss_feeds', 1 );
Remover los enlaces de las RSS Feeds
Este code snippet complementa el code snippet anterior borrando los enlaces de las RSS feeds de tu sitio.
remove_action( 'wp_head', 'feed_links_extra', 3 );
remove_action( 'wp_head', 'feed_links', 2 );
Remover Paginas de Adjuntos de WordPress
Este es un code snippet que permite remover las paginas de adjuntos y redireccionarlas al visitante a la entrada o pagina a la cual pertenecen
add_action('template_redirect', 'template_redirect_attachment');
function template_redirect_attachment() {
global $post;
// Redirects to the post page:
if (is_attachment()) {
wp_redirect(get_permalink($post->post_parent));
}
}
Fuente: Clearfy
Desactivar el HeartBeat
El HeartBeat de WordPress es util si tiene un equipo editando el contenido ya que este te alerta cuando otro usuario esta editando alguna publicación del sitio.
Si eres el único administrador del sitio o si simplemente no le encuentras valor a esta función, este el code snippet que necesitas
add_action( 'init', 'stop_heartbeat', 1 );
function stop_heartbeat() {
wp_deregister_script('heartbeat');
}
Remover la Versión de CSS y JS en WordPress
function _remove_script_version( $src ){$parts = explode( '?', $src );return $parts[0];}//For Scriptsadd_filter( 'script_loader_src', '_remove_script_version', 15, 1 );//For Stylesadd_filter( 'style_loader_src', '_remove_script_version', 15, 1 );
Deshabilitar el Archivo XMLRPC
add_filter( 'xmlrpc_enabled', '__return_false' );
Remover Emojis de WordPress
Este es un code snippet que removerá los emojis. Esto se puede considerar como una mejora de velocidad
/** * Disable the emoji's */ function disable_emojis() { remove_action( 'wp_head', 'print_emoji_detection_script', 7 ); remove_action( 'admin_print_scripts', 'print_emoji_detection_script' ); remove_action( 'wp_print_styles', 'print_emoji_styles' ); remove_action( 'admin_print_styles', 'print_emoji_styles' ); remove_filter( 'the_content_feed', 'wp_staticize_emoji' ); remove_filter( 'comment_text_rss', 'wp_staticize_emoji' ); remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' ); add_filter( 'tiny_mce_plugins', 'disable_emojis_tinymce' ); add_filter( 'wp_resource_hints', 'disable_emojis_remove_dns_prefetch', 10, 2 ); } add_action( 'init', 'disable_emojis' ); /** * Filter function used to remove the tinymce emoji plugin. * * @param array $plugins * @return array Difference betwen the two arrays */ function disable_emojis_tinymce( $plugins ) { if ( is_array( $plugins ) ) { return array_diff( $plugins, array( 'wpemoji' ) ); } else { return array(); } } /** * Remove Emoji in WordPress automatically CDN hostname from DNS prefetching hints. * * @param array $urls URLs to print for resource hints. * @param string $relation_type The relation type the URLs are printed for. * @return array Difference betwen the two arrays. */ function disable_emojis_remove_dns_prefetch( $urls, $relation_type ) { if ( 'dns-prefetch' == $relation_type ) { /** This filter is documented in wp-includes/formatting.php */ $emoji_svg_url = apply_filters( 'emoji_svg_url', 'https://s.w.org/images/core/emoji/2/svg/' ); $urls = array_diff( $urls, array( $emoji_svg_url ) ); } return $urls; }
Remover Query Strings
function remove_cssjs_ver( $src ) {
if( strpos( $src, '?ver=' ) )
$src = remove_query_arg( 'ver', $src );
return $src;
}
add_filter( 'style_loader_src', 'remove_cssjs_ver', 10, 2 );
add_filter( 'script_loader_src', 'remove_cssjs_ver', 10, 2 );
Remover RSD Link
remove_action( 'wp_head', 'rsd_link' ) ;
Remover Short Link
remove_action('wp_head', 'wp_shortlink_wp_head', 10, 0);
Deshabilitar Embeds
function disable_embed(){
wp_dequeue_script( 'wp-embed' );
}
add_action( 'wp_footer', 'disable_embed' );
Esconder la Versión de WordPress
remove_action( 'wp_head', 'wp_generator' ) ;
Remover WLManifest
remove_action( 'wp_head', 'wlwmanifest_link' ) ;
Deshabilitar Self Pingback
function disable_pingback( &$links ) { foreach ( $links as $l => $link ) if ( 0 === strpos( $link, get_option( 'home' ) ) ) unset($links[$l]); } add_action( 'pre_ping', 'disable_pingback' );
Añadir una Meta Descripción
// add meta description tag without plugin in wordpress
function wcs_add_meta_description_tag() {
global $post;
if ( is_single() ) {
$meta = strip_tags( $post->post_content );
$meta = strip_shortcodes( $post->post_content );
$meta = str_replace( array("n", "r", "t"), ' ', $meta );
$meta = mb_substr( $meta, 0, 125, 'utf8' );
echo '<meta name="description" content="' . $meta . '" />' . "n";
}
}
add_action( 'wp_head', 'wcs_add_meta_description_tag' , 2 );
Remover el DNS Prefetch a WordPress.org de la Cabecera de WordPress
Este es code snippet para remover el DNS Prefetch a WordPress.org de la cabecera de WordPress.
add_filter( 'wp_resource_hints','josem_remove_dns_prefetch',20,2);
function josem_remove_dns_prefetch( $urls, $relation_type ){
$n = 0;
$k = false;
foreach( $urls as $url ){
if( false !== strpos( $url,'s.w.org' ) ){
$k = $n;
}
++$n;
}
if( $k ){
unset( $urls[$k] );
}
return $urls;
}
Credito a Jose Mortellaro
Recursos Adicionales
Estos son algunos sitios que contienen Code Snippets para WordPress que podrian resultar de utilidad para muchos usuarios:
Fuentes
Estas son algunas publicaciones que contribuyeron a la creación de esta guía
- How To Configure And Manage Heartbeat In WordPress
- How To Remove JS & CSS Versions in WordPress With Clearfy
- XML-RPC and how to remove it from WordPress
- How to disable Emojis in WordPress without a Plugin
- Add Meta Description Tag Without Plugin in WordPress
- WordPress Code Snippet Library
Información Relacionada
Esta es una serie de información relacionadas con velocidad y seguridad
- Cómo Acelerar tu Sitio de WordPress: El Dilema
- Full Page Caching de CloudFlare
- Reseña sobre CloudFlare APO: ¿Debería Usarlo?
- Cómo Usar la Cascada de GTMetrix
- Reseña sobre WP CloudFlare Super Page Cache
- Vulnerabilidad del Día Cero en WordPress
- Seguridad de WordPress sin Plugins: 8 Pasos
- Bloquear un Proveedor de Hosting por ASN
- Reseña sobre WordFence: Gratis y Premium
- Reseña Honesta de SecuPress: ¿Es el Mejor?