Meta Keywords и Description в WordPress без плъгини

12 февр. 2017 | Без плъгини
Meta Keywords и Descriptions в WordPress без плъгини

Колко са важни за SEO мета таговете keywords и description?
Meta keywords и description по своята същност са HTML мета тагове, които се поставят в хедъра на сайта (<head> секцията). Те са добър начин да съобщите на търсещите машини каква е информацията във Вашия сайт. Ключовите думи са думи или фрази, по които се предполага, че потребителите ще търсят и ще достигнат до съдържанието, което сте публикували. Meta description е кратко описание на това за какво сте писали във Вашата страница или публикация.

<meta name="description" content="Кратко описание на съдържанието на дадената страница или публикация" />
<meta name="keywords" content="Вашите ключови думи, разделени със запетая" />

Не е съвсем ясно каква тежест имат keywords и description за търсещите машини. Някои SEO експерти твърдят, че keywords вече не са важни за оптимизацията. Дори от Google казват, че не обръщат внимание на meta keywords. Други експерти обаче не са съгласни и препоръчват добавянето на този мета таг. Google и Bing игнорират ключовите думи, но Yahoo все още ги използва при класирането на страниците. От друга страна, meta description си остава много важен, тъй като чрез него можете да привлечете вниманието на потребителите.

Как да добавим meta keywords и description в WordPress?
Ако имаме статичен сайт, ние можем ръчно да си добавим мета таговете към всяка страница. Тук имаме пълна свобода в избора на ключови думи и описание. Не трябва да забравяме обаче, че те трябва да са релевантни на съдържанието в дадената страница, а не просто някакви произволни думи и изречения.

Но при сайтовете, базирани на някоя от системите за управление на съдържанието (CMS), нещата стоят по по-различен начин. Както за всичко останало в WordPress, така и за тази функционалност има готови плъгини. Естествено, за тези, които не обичат да добавят разширения за всяко нещо, има и друг вариант – чрез добавяне на код във файла functions.php на темата. Чрез него за ключови думи се вземат автоматично етикетите в публикацията или страницата, а за описание – откъс от началото на публикацията (excerpt). Този откъс е определен брой символи, който е предварително зададен в WordPress, но може да бъде пременян по желание на потребителя.

В първия код е включена опцията за добавяне на мета таговете keywords и description. Във втория извикваме само описанието – за тези, които не желаят ключови думи:

1.

$default_keywords = "Вашите общи ключови думи";
$default_description = "Общо описание на Вашия сайт";

function clean_tag($tag) {
	$tag = strtolower($tag);
	$tag = trim($tag);
	return $tag;
}
function tags_meta_keywords() {
	global $posts, $default_keywords;
	$keywords = explode(',', $default_keywords);	
	if (is_single()) {
		$tags = get_the_tags($posts[0]->ID);
		if (!empty($tags)) {
			foreach($tags as $tag) {
				$post_tags[] = clean_tag($tag->name);
			}
			$keywords = array_unique($post_tags);
		}
	}
	if (is_category()) {
		foreach((get_the_category()) as $cat)
                $catper = &get_category($cat->parent);
		$tagcats = $cat->cat_name . ', ' . $default_keywords;
		$keywords = explode(',', $tagcats);
		}
	echo "\n<meta name=\"keywords\" content=\"" . implode(',', $keywords) .", ".  "\" />\n";
}

function excerpt_meta_description() {
	global $posts, $default_description;	
	$description = $default_description;
	if (is_single() && have_posts()) { 
		while ( have_posts() ) { 
			the_post();
                        $description = trim(get_the_excerpt($post->parent));
		}
	}
	if (is_category()){
	foreach((get_the_category()) as $cat)
	$catper = &get_category($cat->parent);
	$description = $cat->cat_name. ', ' . $default_description;
	}
	echo "<meta name=\"description\" content=\"" .$description . "\" />\n";
}

add_action('wp_head', 'tags_meta_keywords');
add_action('wp_head', 'excerpt_meta_description');

2.

$default_description = "Общо описание на Вашия сайт";

function excerpt_meta_description() {
	global $posts, $default_description;	
	$description = $default_description;
	if (is_single() && have_posts()) { 
		while ( have_posts() ) { 
			the_post();
                        $description = trim(get_the_excerpt($post->parent));
		}
	}
	if (is_category()){
	foreach((get_the_category()) as $cat)
	$catper = &get_category($cat->parent);
	$description = $cat->cat_name. ', ' . $default_description;
	}
	echo "<meta name=\"description\" content=\"" .$description . "\" />\n";
}

add_action('wp_head', 'excerpt_meta_description');

Имайте предвид, че за да работи този код трябва да извикате wp_head в хедъра на сайта (ако липсва). Това става чрез добавяне в <head> секцията на

<?php wp_head(); ?>

.