SEO своими руками: description

Предыдущая запись о seo без плагинов: SEO своими руками: ключевые слова.

Поисковый робот, посещая страницу, формирует ее краткое содержание – текст, характеризующий опубликованный материал. Обычно для этого берется несколько сот первых слов текста публикации – разные поисковики используют от 150 до 350 знаков текста страницы для отображения в результатах поисковой выдачи. Вы можете повлиять на их выбор, точно указав, какой следует использовать текст, внедрив в исходный код страницы специальный мета-тег description.


Давайте создадим функцию, которая будет брать текст страницы, компоновать из него удобочитаемый вид, и подставлять этот текст в мета-тег description. Для этого нужно добавить в файл functions.php следующий код:

function tp_meta_description( $home_description='', $maxchar=300 ){
	global $wp_query,$post;
	if( is_front_page() )
		$out = $home_description;
	elseif( is_singular() ){
		if ( $descript = get_post_meta($post->ID, "description", true) )
			$out = $descript;
		elseif ($post->post_excerpt!='')
			$out = trim(strip_tags($post->post_excerpt));
		else
			$out = trim(strip_tags($post->post_content));
		$char = iconv_strlen( $out, 'utf-8' );
		if( $char > $maxchar ){
			$out = iconv_substr( $out, 0, $maxchar, 'utf-8' );
			$words = split(' ', $out );
			$maxwords = count($words) - 1;
			$out = join(' ', array_slice($words, 0, $maxwords)).' ...';
		}
	}
	elseif( is_category() || is_tag() ){
		$desc = $wp_query->queried_object->description;
		$out = $desc;
	}

	if( !empty($out) ){
		$out = str_replace( array("n","r"), ' ', strip_tags($out) );
		$out = preg_replace("@[.*?]@", '', $out);
		echo ''."n";
	}
	return;
}

Эта функция автоматически формирует содержимое мета-тега description для любой страницы блога:

  • если это главная страница, то берется описание блога
  • если это одиночная запись (пост), то сначала проверяется произвольное поле description, если оно не заполнено, то берется цитата поста, если она не используется, то используется текстовое содержимое поста
  • если это архив постов определенной категории или постов, помеченных определенной меткой (тегом), то используется описание категории или метки

Функция извлекает требуемый текст, удаляет в нем все шорткоды, и обрезает по длине (в примере количество символов ограничено 300). Так как последнее слово с большой долей вероятности будет из-за обрезания по длине символов не полным, то оно исключается, а вместо него вставляется троеточие. Этот готовый текст подставляется в мета-тег description. Чтобы он появился в исходном коде любой страницы, нужно вставить следующий код в файл header.php между head и /head:


У функции два параметра – текст описания главной страницы и длина текста в символах, – вы можете менять их по своему усмотрению. Только помните, что Яндекс учитывает до 200 символов, Google понимает до 156 символов.

Автор tiaurus 2182 Articles
Являюсь создателем n-wp.ru — блога о WordPress для новичков. Мне интересно многое, поэтому еще я сделал 123-box.ru — блог о программах для Windows, и tiaurus.info — блог о красоте.

3 Комментарии

  1. У меня вопрос есть. А что если в тексте есть кавычки? Я попробовала но если они встречаются, то эта строка выделяется красным цветом и пишет, что “Нет пробела между атрибутами”. Это критично или пусть себе выделяет?

    • Если заполнено произвольное поле description, то берется текст из него. Если не заполнено, то проверяется цитата поста. Если есть цитата поста, то берется текст цитаты. Если цитаты нет, то берется основной текст поста.

Оставить комментарий

Ваш электронный адрес не будет опубликован.


*