WordPress самая популярная CMS в интернете, но из-за того что темы, плагины и скрипты для него делают всякие пионЭры постоянно приходится что-то допиливать напильником…
Распространенная проблема — отсутствие нормальных мета-тегов в блоке <head>. Из-за этого сайты с кривыми темами плохо индексируются поисковыми сервисами или индексируются совсем не правильно.
Я тоже столкнулся с такой проблемой на сайте Touchpad Blocker, поэтому взял в руки напильник (скорее даже рашпиль 🙂 и наваял следующий код в header.php темы сайта:
…
<head>
<head>
<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" />
<?php
$title_delimeter = '-'; //'«';
if (!is_home())
{
// Every page or post
$s = get_post_meta(get_the_ID(), 'title', true);
if ($s <> '') echo "\t<title>$s</title>\n"; else
{
?>
<title><?php wp_title($title_delimeter, true, 'right'); bloginfo('name'); ?></title>
<?php
}
$s = get_post_meta(get_the_ID(), 'description', true);
if ($s == '') $s = get_bloginfo('description');
if ($s <> '') echo "\t<meta name=\"description\" content=\"$s\" />\n";
$s = get_post_meta(get_the_ID(), 'keywords', true);
if ($s == '' && is_single())
{
// Single post page
$s = get_bloginfo('name');
$tags = get_tags();
foreach ($tags as $tag) $s = $s . ', ' . $tag->name;
}
if ($s == '') $s = $metakeywords;
if ($s <> '') echo "\t<meta name=\"keywords\" content=\"$s\" />\n";
}
else
{
// Blog root page
$s = get_bloginfo('name');
$tags = get_tags();
foreach ($tags as $tag) $s = $s . ', ' . $tag->name;
?>
<title><?php wp_title($title_delimeter, true, 'right'); bloginfo('name'); ?></title>
<meta name="description" content="<?php bloginfo('description'); ?>" />
<meta name="keywords" content="<?php echo $s ?>" />
<?php
}
?>
<link rel="shortcut icon" href="/favicon.ico" />
…
…
Теперь для каждой страницы, поста, архива метатеги title, description и keywords расставляются правильно. Более того для любой страницы их можно задавать руками, через соответствующие Custom Fields.
Может кому-то пригодиться 🙂
thanks
НравитсяНравится