U `8 V k @ C @f V U 8 ( 6 6 k N S f ` 8 U # *; ( п6 k ^ v ` ` U 9 v 0 6 k } g v U . @+; 8 X+; k h U 8 H @ k t ] U @ p+; P k @ 8^ U @ @ 6 X k s !( U 8 @ ` k p^ ` U `r 0 P h +; k Q !^ U ( x p @ k ` W W W W P"? "? "? "? 0#? P"? "? "? "? 0#? P"? "? "? "? 0#? P"? "? "? "? 0#? P"? "? "? "? 0#? P"? "? "? "? 0#? P"? "? "? "? 0#? 2 < $< > H > h 0#? 2 2 #_U > X > p> =_U < $< Pk> p> Pk> p> Pk> 0> ._U Pk> h o> Pk> X Pk> x o> < #< Pk> > Pk> 8 o> Pk> (p> Pk> 8 o> 0]_U 0]_U Pk> 8 o> Pk> 8 o> Pk> 8 o> Pk> 8 o> Pk> > ر Pk> > $tablePZ q =UU @ ws ExcepX x `mUU @ 'CR " ( $this->get_queried_post_type() ); $this->redirect_feed( $url, 'We disable post type feeds for performance reasons.' ); } if ( \is_search() && $this->is_true( 'remove_feed_search' ) ) { $url = \trailingslashit( \home_url() ) . '?s=' . \get_search_query(); $this->redirect_feed( $url, 'We disable search RSS feeds for performance reasons.' ); } } /** * Sends a cache control header. * * @param int $expiration The expiration time. */ public function cache_control_header( $expiration ) { \header_remove( 'Expires' ); // The cacheability of the current request. 'public' allows caching, 'private' would not allow caching by proxies like CloudFlare. $cacheability = 'public'; $format = '%1$s, max-age=%2$d, s-maxage=%2$d, stale-while-revalidate=120, stale-if-error=14400'; if ( \is_user_logged_in() ) { $expiration = 0; $cacheability = 'private'; $format = '%1$s, max-age=%2$d'; } \header( \sprintf( 'Cache-Control: ' . $format, $cacheability, $expiration ), true ); } /** * Redirect a feed result to somewhere else. * * @param string $url The location we're redirecting to. * @param string $reason The reason we're redirecting. */ private function redirect_feed( $url, $reason ) { \header_remove( 'Content-Type' ); \header_remove( 'Last-Modified' ); $this->cache_control_header( 7 * \DAY_IN_SECONDS ); \wp_safe_redirect( $url, 301, 'Yoast SEO: ' . $reason ); exit; } /** * Retrieves the queried post type. * * @return string The queried post type. */ private function get_queried_post_type() { $post_type = \get_query_var( 'post_type' ); if ( \is_array( $post_type ) ) { $post_type = \reset( $post_type ); } return $post_type; } /** * Checks if the value of an option is set to true. * * @param string $option_name The option name. * * @return bool */ private function is_true( $option_name ) { return $this->options_helper->get( $option_name ) === true; } }