Advanced Meta Tags 1.1.0

Генерирует мета-теги ключевых слов (keywords) и описания (description).

  1. Exile
    Совместимость:
    требуется адаптация
    Изменения в БД:
    требуются
    Автор:
    Gemini_13
    Общественное достояние:
    нет
    Описание: генерирует мета-теги ключевых слов (keywords) и описания (description). Настройка производится в разделе: Админка -> Модификации -> Конфигурация.
    Инструкция по установке:
    PHP:
    # ---- [ SQL ] -------------------

    INSERT INTO bb_config VALUES ('use_dynamic_description'1);
    INSERT INTO bb_config VALUES ('use_dynamic_keywords'1);
    INSERT INTO bb_config VALUES ('global_description''ваше глобальное мета-описание');
    INSERT INTO bb_config VALUES ('global_keywords''подставьте, сюда, свои, ключевые, слова');
    INSERT INTO bb_config VALUES ('append_global_description'1);
    INSERT INTO bb_config VALUES ('append_global_keywords'1);
    INSERT INTO bb_config VALUES ('append_keywords_first'0);
    INSERT INTO bb_config VALUES ('description_word_count'150);
    INSERT INTO bb_config VALUES ('keyword_word_count'50);

    # ---- [ Открыть ] -------------------

    viewtopic.php

    # ---- [ Найти ] -------------------

    for($i 0$i $total_posts$i++)

    # ---- [ Вставить до ] -------------------

    $first_post_text '';

    # ---- [ Найти ] -------------------

    $message get_parsed_post($postrow[$i]);

    # ---- [ Вставить после ] -------------------

        
    if ($i == 0)
        {
            
    $first_post_text $message;

            
    $post_text $first_post_text;
            if (!empty(
    $post_text))
            {
                
    $post_text mb_strtolower(strip_tags($post_text),"UTF-8");
                
    $post_text preg_split("/[\s,.-:]+/"$post_text);
                if (
    $bb_cfg['use_dynamic_keywords'])
                {
                    
    $count 0;
                    
    $rnd_keywords = array();
                    foreach (
    $post_text as $word)
                    {
                        
    $word str_replace("'"''$word);
                        if (
    strlen($word) > 2)
                        {
                            if (!empty(
    $rnd_keywords) && in_array($word$rnd_keywords)) continue;

                            
    $rnd_keywords[] = $word;
                            
    $count++;
                        }
                        if (
    $count == $bb_cfg['keyword_word_count']) break;
                    }
                    
    $rnd_keywords implode(', '$rnd_keywords);
                    if (
    $bb_cfg['append_keywords_first']) $rnd_keywords ', ' $rnd_keywords;
                    else 
    $rnd_keywords $rnd_keywords ', ';
                }

                if (
    $bb_cfg['use_dynamic_description'])
                {
                    
    $count 0;
                    
    $rnd_description '';
                    foreach (
    $post_text as $word)
                    {
                        
    $rnd_description .= $word ' ';
                        
    $count++;

                        if (
    $count == $bb_cfg['description_word_count']) break;
                    }
                }
            }
            
    $template->assign_vars(array(
                
    'RND_DESCRIPTION'    => (preg_match('/viewtopic\.php/'$_SERVER['SCRIPT_NAME']) && $bb_cfg['use_dynamic_description']) ? $rnd_description '',
                
    'RND_KEYWORDS'      => (preg_match('/viewtopic\.php/'$_SERVER['SCRIPT_NAME']) && $bb_cfg['use_dynamic_keywords']) ? $rnd_keywords '',
            ));
        }

    # ---- [ Открыть ] -------------------

    admin/admin_board.php

    # ---- [ Найти ] -------------------

                
    'SEED_BONUS_USER_REGDATE' => $new['seed_bonus_user_regdate'],

    # ---- [ Вставить после ] -------------------

                
    'USE_DYNAMIC_DESCRIPTION' => $new['use_dynamic_description'],
                
    'USE_DYNAMIC_KEYWORDS' => $new['use_dynamic_keywords'],
                
    'GLOBAL_DESCRIPTION' => $new['global_description'],
                
    'GLOBAL_KEYWORDS' => $new['global_keywords'],
                
    'APPEND_GLOBAL_DESCRIPTION' => $new['append_global_description'],
                
    'APPEND_GLOBAL_KEYWORDS' => $new['append_global_keywords'],
                
    'APPEND_KEYWORDS_FIRST' => $new['append_keywords_first'],
                
    'DESCRIPTION_WORD_COUNT' => $new['description_word_count'],
                
    'KEYWORD_WORD_COUNT' => $new['keyword_word_count'],

    # ---- [ Открыть ] -------------------

    includes/page_header.php

    # ---- [ Найти ] -------------------

    // FOR SEO
    $template->assign_vars(array(

    # ---- [ Вставить до ] -------------------

    $viewtopic_page = (preg_match('/viewtopic\.php/'$_SERVER['SCRIPT_NAME'])) ? true false;
    if (
    $bb_cfg['append_global_description'] || $bb_cfg['use_dynamic_description'])
    {
        
    $global_description = ($bb_cfg['append_global_description']) ? $bb_cfg['global_description'] : '';

        
    $template->assign_vars(array(
            
    'PAGE_DESCRIPTION' => $global_description,
            
    'PAGE_DESCRIPTION_ON' => ($global_description == '' && !$viewtopic_page) ? false true,
        ));
    }

    if (
    $bb_cfg['append_global_keywords'] || $bb_cfg['use_dynamic_keywords'])
    {
        
    $global_keywords = ($bb_cfg['append_global_keywords']) ? $bb_cfg['global_keywords'] : '';

        
    $template->assign_vars(array(
            
    'PAGE_KEYWORDS' => $global_keywords,
            
    'PAGE_KEYWORDS_ON' => ($global_keywords == '' && !$viewtopic_page) ? false true,
        ));
    }

    # ---- [ Найти ] -------------------

        
    'U_MY_DRAFTS'              => "profile.php?mode=viewdraft&u={$userdata['user_id']}",

    # ---- [ Вставить после ] -------------------

        
    'VIEWTOPIC_PAGE'            => (!$viewtopic_page ) ? true false,

    # ---- [ Открыть ] -------------------

    language/lang_russian/lang_admin.php

    # ---- [ Вставить в конец ] -------------------

    // Meta Tags
    $lang['META_TAGS_MOD'] = 'Генератор мета-тегов';
    $lang['USE_DYNAMIC_DESCRIPTION'] = 'Включить генерацию мета-описания';
    $lang['USE_DYNAMIC_KEYWORDS'] = 'Включить генерацию ключевых слов';
    $lang['GLOBAL_DESCRIPTION'] = 'Глобальное мета-описание';
    $lang['GLOBAL_KEYWORDS'] = 'Глобальные ключевые слова';
    $lang['APPEND_GLOBAL_DESCRIPTION'] = 'Добавлять глобальное мета-описание';
    $lang['APPEND_GLOBAL_DESCRIPTION_EXPLAIN'] = 'Добалять глобальное мета-описание к сгенерироанному описанию.';
    $lang['APPEND_GLOBAL_KEYWORDS'] = 'Добавлять глобальные ключевые слова';
    $lang['APPEND_GLOBAL_KEYWORDS_EXPLAIN'] = 'Добалять глобальные ключевые слова к сгенерироанным ключевым словам.';
    $lang['APPEND_KEYWORDS_FIRST'] = 'Позиция размещения глобальных ключевых слов';
    $lang['APPEND_KEYWORDS_FIRST_EXPLAIN'] = '"Да" для размещения перед сгенерированными ключевыми словами,<br />"Нет" для размещения после сгенерированных ключевых слов.';
    $lang['DESCRIPTION_WORD_COUNT'] = 'Количество ключевых слов в мета-описании';
    $lang['KEYWORD_WORD_COUNT'] = 'Количество ключевых слов';

    # ---- [ Открыть ] -------------------

    templates/admin/admin_board.tpl

    # ---- [ Найти ] -------------------

    <!-- ENDIF / CONFIG_MODS -->

    # ---- [ Вставить до ] -------------------

    <tr class="row3 med">
        <
    td class="bold tCenter" colspan="2">{L_META_TAGS_MOD}</td>
    </
    tr>

    <
    tr>
        <
    td><h4>{L_USE_DYNAMIC_DESCRIPTION}</h4></td>
        <
    td>
            <
    label><input type="radio" name="use_dynamic_description" value="1" <!-- IF USE_DYNAMIC_DESCRIPTION -->checked="checked"<!-- ENDIF --> />{L_ENABLED}</label>&nbsp;&nbsp;
            <
    label><input type="radio" name="use_dynamic_description" value="0" <!-- IF not USE_DYNAMIC_DESCRIPTION -->checked="checked"<!-- ENDIF --> />{L_DISABLED}</label>
        </
    td>
    </
    tr>
    <
    tr>
        <
    td><h4>{L_USE_DYNAMIC_KEYWORDS}</h4></td>
        <
    td>
            <
    label><input type="radio" name="use_dynamic_keywords" value="1" <!-- IF USE_DYNAMIC_KEYWORDS -->checked="checked"<!-- ENDIF --> />{L_ENABLED}</label>&nbsp;&nbsp;
            <
    label><input type="radio" name="use_dynamic_keywords" value="0" <!-- IF not USE_DYNAMIC_KEYWORDS -->checked="checked"<!-- ENDIF --> />{L_DISABLED}</label>
        </
    td>
    </
    tr>
    <
    tr>
        <
    td><h4>{L_GLOBAL_DESCRIPTION}</h4></td>
        <
    td><input class="post" type="text" size="40" maxlength="255" name="global_description" value="{GLOBAL_DESCRIPTION}" /></td>
    </
    tr>
    <
    tr>
        <
    td><h4>{L_GLOBAL_KEYWORDS}</h4></td>
        <
    td><input class="post" type="text" size="40" maxlength="255" name="global_keywords" value="{GLOBAL_KEYWORDS}" /></td>
    </
    tr>
    <
    tr>
        <
    td><h4>{L_APPEND_GLOBAL_DESCRIPTION}</h4><h6>{L_APPEND_GLOBAL_DESCRIPTION_EXPLAIN}</h6></td>
        <
    td>
            <
    label><input type="radio" name="append_global_description" value="1" <!-- IF APPEND_GLOBAL_DESCRIPTION -->checked="checked"<!-- ENDIF --> />{L_ENABLED}</label>&nbsp;&nbsp;
            <
    label><input type="radio" name="append_global_description" value="0" <!-- IF not APPEND_GLOBAL_DESCRIPTION -->checked="checked"<!-- ENDIF --> />{L_DISABLED}</label>
        </
    td>
    </
    tr>
    <
    tr>
        <
    td><h4>{L_APPEND_GLOBAL_KEYWORDS}</h4><h6>{L_APPEND_GLOBAL_KEYWORDS_EXPLAIN}</h6></td>
        <
    td>
            <
    label><input type="radio" name="append_global_keywords" value="1" <!-- IF APPEND_GLOBAL_KEYWORDS -->checked="checked"<!-- ENDIF --> />{L_ENABLED}</label>&nbsp;&nbsp;
            <
    label><input type="radio" name="append_global_keywords" value="0" <!-- IF not APPEND_GLOBAL_KEYWORDS -->checked="checked"<!-- ENDIF --> />{L_DISABLED}</label>
        </
    td>
    </
    tr>
    <
    tr>
        <
    td><h4>{L_APPEND_KEYWORDS_FIRST}</h4><h6>{L_APPEND_KEYWORDS_FIRST_EXPLAIN}</h6></td>
        <
    td>
            <
    label><input type="radio" name="append_keywords_first" value="1" <!-- IF APPEND_KEYWORDS_FIRST -->checked="checked"<!-- ENDIF --> />{L_ENABLED}</label>&nbsp;&nbsp;
            <
    label><input type="radio" name="append_keywords_first" value="0" <!-- IF not APPEND_KEYWORDS_FIRST -->checked="checked"<!-- ENDIF --> />{L_DISABLED}</label>
        </
    td>
    </
    tr>
    <
    tr>
        <
    td><h4>{L_DESCRIPTION_WORD_COUNT}</h4></td>
        <
    td><input class="post" type="text" size="3" maxlength="4" name="description_word_count" value="{DESCRIPTION_WORD_COUNT}" /></td>
    </
    tr>
    <
    tr>
        <
    td><h4>{L_KEYWORD_WORD_COUNT}</h4></td>
        <
    td><input class="post" type="text" size="3" maxlength="4" name="keyword_word_count" value="{KEYWORD_WORD_COUNT}" /></td>
    </
    tr>

    # ---- [ Открыть ] -------------------

    templates/default/page_header.tpl

    # ---- [ Найти ] -------------------

    <head>

    # ---- [ Вставить после ] -------------------

    <!-- IF PAGE_KEYWORDS_ON -->
    <
    meta name="keywords" content="<!-- IF $bb_cfg['append_keywords_first'] -->{PAGE_KEYWORDS}{RND_KEYWORDS}<!-- ELSE -->{RND_KEYWORDS}{PAGE_KEYWORDS}<!-- ENDIF -->" />
    <!-- ENDIF -->
    <!-- IF 
    PAGE_DESCRIPTION_ON -->
    <
    meta name="description" content="<!-- IF not $bb_cfg['use_dynamic_description'] || VIEWTOPIC_PAGE -->{PAGE_TITLE}<!-- ELSE -->{RND_DESCRIPTION}<!-- ENDIF --> {PAGE_DESCRIPTION}" />
    <!-- ENDIF -->

    # ---- [ Конец ] -------------------

Последние обнoвления

  1. Обновление 1.1.0