?

Log in

предыдущие | cледующие

Wordpress самая популярная CMS в интернете, но из-за того что темы, плагины и скрипты для него делают всякие пионЭры постоянно приходится что-то допиливать напильником... 

Распространенная проблема - отсутствие нормальных мета-тегов в блоке <head>. Из-за этого сайты с кривыми темами плохо индексируются поисковыми сервисами или индексируются совсем не правильно. 

Я тоже столкнулся с такой проблемой на сайте Touchpad Blocker, поэтому взял в руки напильник (скорее даже рашпиль :) и наваял следующий код в header.php темы сайта:

...
<head>
  <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" />
<?php 
  $title_delimeter = '&#45;'; //'&laquo;';
  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.

Может кому-то пригодиться :)

Comments

( 1 комментарий — оставить комментарий )
( 1 комментарий — оставить комментарий )

Latest Month

Март 2016
Вс Пн Вт Ср Чт Пт Сб
  12345
6789101112
13141516171819
20212223242526
2728293031  

Метки

Разработано LiveJournal.com