SEO: Create a description meta tag based on Jetpack’s Open Graph Meta tags

Jetpack includes Open Graph Meta tags. We add these tags whenever you activate the Sharing module or the Publicize module.

These tags allow Social Networks like Facebook, LinkedIn, Google+, or Pinterest to gather information about a post and build a post preview. Without those tags, Social Networks like Facebook will in some cases reject a post that’s been posted via an app, like Publicize.

We also add Twitter Meta Cards tags, since Twitter requires its own set of tags.

These Social Networks do not rely on the description meta tag, though. That’s why we didn’t add it to the list of tags added by Jetpack. Since this tag is mostly useful for Search Engines, it’s often included in Search Engine Optimization plugins, like Yoast SEO. If you’re interested in adding the tag to your site, you could use this plugin.

Another alternative would be to extend Jetpack’s default list of tags, and add your own, based on the existing og:description tag. To do so, you can paste the following in your theme’s functions.php file, or in a functionality plugin:

/**
 * Add a new tag, named description, matching the existing og:description tag.
 *
 * If og:description doesn't exist for a post/page, do not add any new tag.
 *
 * @filter jetpack_open_graph_tags
 * @uses isset
 */
function jeherve_custom_desc_tag( $tags ) {
	if ( isset( $tags['og:description'] ) ) {
		$tags['description'] = $tags['og:description'];
	}
	return $tags;
}
add_filter( 'jetpack_open_graph_tags', 'jeherve_custom_desc_tag' );

/**
 * Replace property="description" by name="description" in the new tag.
 *
 * Jetpack uses property="thing" as template for its Meta tags,
 * because it's built to output OG Tags. However, we we want to output a general tag here.
 *
 * @filter jetpack_open_graph_output
 * @uses str_replace
 */
function jeherve_desc_tag_output( $og_tag ) {

	// Replace property="description" by name="description"
	$og_tag = str_replace( 'property="description"', 'name="description"', $og_tag );

	return $og_tag;
}
add_filter( 'jetpack_open_graph_output', 'jeherve_desc_tag_output' );
This entry was posted in Code snippets and tagged , , , , , . Bookmark the permalink.

Say Hello to 200 Themes

Jetpack Professional now bundles 200+ Premium WordPress themes,
alongside business class security tools, and marketing automation.