[Помогите] Мета теги на сайте

Тема в разделе "Wordpress", создана пользователем kit-kater, 31 июл 2015.

  1. kit-kater

    kit-kater

    Регистрация:
    18 май 2015
    Сообщения:
    41
    Симпатии:
    0
    Здравствуйте, подскажите в чем может быть проблема. Не отображается мета-тег keywords.
    Есть сайт на ВП. Нужно его оптимизировать.
    Поскольку с плагином all in one seo pack получались одни проблемы, то я решила отказаться от плагина.
    Нашла статью и делала все как там написано.
    Если что вот ссылка http://amateurblogger.ru/seo-optimizaciya-wordpress-title-i-metategi-bez-plagina/
    В header.php прописала код вызова функций:

    PHP:
    <?php kama_meta_keywords () ?>
    <?php kama_meta_description 
    () ?>


    В файл фанкшенс добавила
    PHP:
    /** мета заголовок (title):
        - Первый параметр функции это разделитель, второй название блога (если не указать берется из Настроек).
        - Для меток и категорий указывается в настройках в описании (в настройках, по аналогии с пунком 6 Platinum SEO Pack, см. выше) так: [title=Заголовок]
        - Для страниц или постов, если вы хотите чтобы заголовок страницы отличался от заголовка поста, то создайте произвольное поле title и впишите туда свое название
    ------------------------------------- */
    function kama_meta_title ($sep=" | ",$bloginfo_name=''){
        global 
    $wp_query,$post;
        if (!
    $bloginfo_name$bloginfo_name get_bloginfo('name');
        
    $wp_title wp_title($sep0'right');

        if (
    is_category() || is_tag()){
            
    $desc $wp_query->queried_object->description;
            if (
    $descpreg_match ('!\[title=(.*)\]!iU',$desc,$match);
            
    $out $match[1] ? $match[1].$sep : ((is_tag())?"Метка:":"Категория:").$wp_title";
        }
        elseif (
    is_singular()) $out = ($free_title get_post_meta($post->ID"title"true)) ? $free_title.$sep $wp_title;
        elseif (
    is_author()) $out "Статьи автора: $wp_title";
        elseif (
    is_day() || is_month() || is_year()) $out "Архив за: $wp_title";
        elseif (
    is_search()) $out 'Результаты поиска по запросу: 'strip_tags($_GET['s']) . $sep;
        elseif (
    is_404()) $out "Ошибка 404 - страница не существует".$sep.$wp_title;

        
    $out trim($out.$bloginfo_name);
        if (
    $paged get_query_var('paged')) $out "$out (страница $paged)";
        return print 
    $out;
    }

    /** мета описание (description):
        - Для главной страницы описание указывается в функции, так: kama_meta_description ('Здесь описание блога');
        - Для страниц меток и категорий указывается в описании (в настройках, по аналогии с пунком 6 Platinum SEO Pack, см. выше), так: [description=текст, описание]
        - У постов сначала проверяется, произвольное поле description, если оно есть описание берется оттуда, потом проверяется поле "цитата", если цитаты нет, то описание берется как начальная часть контента.
        - вторым параметром в функции указывается колличество символов для описания: kama_meta_description ('Описание для главной страницы',200);
    ------------------------------------- */
    function kama_meta_description ($home_description='',$maxchar=200){
        global 
    $wp_query,$post;
        if (
    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$out0$maxchar'utf-8' );
                 
    $words split(' '$out ); $maxwords count($words) - 1//убираем последнее слово, ибо оно в 99% случаев неполное
                 
    $out join(' 'array_slice($words0$maxwords)).' ...';
             }
        }
        elseif (
    is_category() || is_tag()){
            
    $desc $wp_query->queried_object->description;
            if (
    $descpreg_match ('!\[description=(.*)\]!iU',$desc,$match);
            
    $out $match[1]?$match[1]:'';
        }
        elseif (
    is_home()) $out=$home_description;
        if (
    $out){
            
    $out str_replace( array("\n","\r"), ' 'strip_tags($out) );
            
    $out preg_replace("@\[.*?\]@"''$out); //удаляем шоткоды
            
    return print "<meta name='description' content='$out' />\n";
        }
        else return 
    false;
    }

    /** метатег keywords:
        - Для главной страницы, ключевые слова указываются в функции так: kama_meta_keywords ('слово1, слово2, слово3');
        - Также можно вписать ключевые слова во второй параметр, они будут отображаться (добавляться) на всех страницах сайта: kama_meta_keywords ('<ключевики для главной>','<сквозные ключевики>');
        - Чтобы задать свои keywords для записи, создайте произвольное поле keywords и впишите в значения необходимые ключевые слова. Если такого поля у записи нет, то ключевые слова генерируются из меток и названия категории(й).
        - Для страниц меток и категорий ключевые слова указываетются в описании (в настройках, по аналогии с пунком 6 Platinum SEO Pack, см. выше) так: [keywords=слово1, слово2, слово3]
    ------------------------------------- */
    function kama_meta_keywords ($home_keywords='',$def_keywords=''){
        global 
    $wp_query,$post;
        if ( 
    is_single() && !$out=get_post_meta($post->ID,'keywords',true) ){
            
    $out '';
            
    $res wp_get_object_terms$post->ID, array('post_tag','category'), array('orderby' => 'none') ); // получаем категории и метки
            
    if ($res) foreach ($res as $tag$out .= {$tag->name}";
            
    $out str_replace(' ',', ',trim($out));
            
    $out "$out $def_keywords";
        }
        elseif (
    is_category() || is_tag()){
            
    $desc $wp_query->queried_object->description;
            if (
    $descpreg_match ('!\[keywords=(.*)\]!iU',$desc,$match);
            
    $out $match[1]?$match[1]:'';
            
    $out "$out $def_keywords";
        }
        elseif (
    is_home()){
            
    $out $home_keywords;
        }
        if (
    $out) return print "<meta name='keywords' content='$out' />\n";
        return 
    false;
    }
    Все на странице прописываю с помощью произвольных полей, title и describtion отображаются, а keywords нет.
    Подскажите, пожалуйста, что это может быть?
    Это проблема с новой версией вордпресса?