Posted on

Blocking pre and code tags

If your posts have lots of programming code examples in <pre> and <code> tags, those might look pretty bad in the search results. A snippet of programming code isn’t usually a good excerpt, and if you use those tags purely for code snippets, they won’t likely contain significant search content, either.

Fortunately it’s easy to completely remove all <pre> and <code> tags and their content both in indexing and excerpt-building. All you need to do is to add the following code to your theme functions.php:

add_filter( 'relevanssi_post_content', 'rlv_pre_code', 10 );
add_filter( 'relevanssi_excerpt_content', 'rlv_pre_code', 10 );
function rlv_pre_code( $content ) {
	$content = preg_replace( '#<pre.*?</pre]#mis', '', $content );
	$content = preg_replace( '#<code.*?</code>#mis', '', $content );
	return $content;
}

Replace the ] in the </pre] with a >.

This will find all <pre> and <code> tags in posts and replace them and their contents with nothing, both when indexing and when building excerpts. This will immediately take effect for excerpts, and requires reindexing to apply in indexing.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.