0 331

Автоматическое создание description и keywords в WordPress

Так нужны ли KeyWords и Description
По большому счету нет. Поисковые системы в основной массе ранжируют сайты по содержимому страниц. Я думаю, что именно по этому WordPress «из коробки» не предлагает никаких инструментов по формированию данных мета тегов.

Но чтобы Яндекс не ругался на отсутствие Description, а вы не расстраивались по этому поводу, воспользуйтесь нижеследующими рекомендациями.

Автогенератор метатегов Description и Keywords

следующий код, который вам нужно разместить в файле functions.php вашей темы:

/* Автогенератор метатегов Description и KeyWords */

function create_meta_desc() {
    global $post;
    $meta = wp_get_document_title();
	
if (is_category()){
	$a = category_description();
	if ( ! empty( $a ) ) {	$meta = $a; }
}
if (is_front_page()){
	$meta = get_bloginfo( 'description' );
}
if (is_single()) {
    $meta = strip_tags($post->post_content);
	$tags = get_the_tags();
	if ($tags) { foreach($tags as $tag) { $meta2 .= ' ' . $tag->name; } }
	$meta2 = ltrim( $meta2, ' ' );
	echo "\n<meta name=\"keywords\" content=\"$meta2\" />";
}
    $meta = strip_shortcodes($meta);
	$meta = preg_replace( '~\[[^\]]+\]~', '', $meta );
	$meta = wp_strip_all_tags($meta, true);
	$meta = str_replace('"','\'', $meta);
	if ( mb_strlen ( $meta ) > 160 ){ $meta = mb_substr($meta, 0, 160)."..."; }
    echo "\n<meta name=\"description\" content=\"$meta\" />\n";
	
}
add_action('wp_head', 'create_meta_desc');

Пояснения к скрипту: по-умолчанию для всех страниц в качестве тега DESCRIPTION используется заголовок — TITLE. Если страница является разделом категорий, то скрипт попробует использовать описание текущей рубрики, если оно есть (изменить можно в админке):

Скажите пару слов