Добавить noindex, nofollow в контенте на ссылку wordpress


Бывает такое  что от сеошников приходят правки, где нужно скрывать в контенте внешние ссылки.

Для этого мы  написали простые методы, для решения такой ситуации.


public function content() {
$content = apply_filters( 'the_content', get_post_field( 'post_content', get_the_ID() ) );
$parse_content = self::nofollow( $content );
$add_noindex = self::noindex($parse_content);
return $add_noindex;
}

public static function nofollow( $html, $skip = null ) {
return preg_replace_callback(
"#(<a[^>]+?)>#is", function ( $mach ) use ( $skip ) {
return (
!($skip && strpos( $mach[1], $skip ) !== false) &&
strpos( $mach[1], 'rel=' ) === false
) ? $mach[1] . ' rel="nofollow">' : $mach[0];
},
$html
);
}


public static function noindex( $html ) {
return preg_replace_callback(
"#(<a.*?>.*?<\/a>)#is", function ( $mach ) {
return "<noindex>{$mach[0]}</noindex>";
},
$html
);
}