Default Green Orange
Gemini_13's Blog
Блокнот полезных вещей
Home
    • Карта сайта
    • Обо мне
RSS

Advanced Meta Tags v3.0

Мои моды к TorrentPier II, Скрипты Add comments

—————————————————
Название: Advanced Meta Tags v3.0
Автор: Gemini_13 <gemini_13@torba.su>
Описание: Мод генерирует мета-теги ключевых слов (keywords) и описания (description).
Сложность установки: Легкая
Время установки: ~ 5 минут
Адаптирован под версию TPII: R550
Настройка: Админка -> Модификации -> Конфигурация
Файлы к редактированию:
— viewtopic.php
— admin/admin_board.php
— includes/page_header.php
— language/lang_russian/lang_admin.php
— templates/admin/admin_board.tpl
— templates/default/page_header.tpl
—————————————————

Копирование и выкладывание модификаций на сторонних ресурсах без указания ссылки запрещено.

# ---- [ 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'    => ($bb_cfg['use_dynamic_description'] && preg_match('/viewtopic\.php/', $_SERVER['SCRIPT_NAME'])) ? $rnd_description : '',
			'RND_KEYWORDS'       => ($bb_cfg['use_dynamic_keywords'] && preg_match('/viewtopic\.php/', $_SERVER['SCRIPT_NAME'])) ? $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 -->

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

12 января, 2014  
Tags: description, meta, meta tags, mod, tags, torrentpier, tp, tp2, мод

Leave a Reply

  • Рубрики

    • FreeBSD (20)
    • Linux (46)
    • MySQL (11)
    • Windows (14)
    • Железо (3)
    • Мои моды к TorrentPier II (16)
    • Настройка сервера (49)
    • Разное (33)
    • Скрипты (30)
  • Свежие записи

    • Поля форм на Yii2: textInput(), passwordInput() и hiddenInput()
    • Поля форм на Yii2: CheckboxList()
    • SpeedTest датацентров Digital Ocean
    • Патчим Gearman на Debian
    • nginx + Apache 2.4 и REMOTE_ADDR (решение проблемы)
    • Создание и подключение swap-файла в Debian
    • Запуск PhpStorm 9 x64 на Windows
    • Рекурсивная замена прав доступа для папок и файлов в Linux
    • VirtualBox 5 + phpVirtualBox на Debian 8.2 (jessie)
    • Обработка сессий PHP с помощью Redis + phpredis на Debian 7.8
  • Ссылки

    • My GitHub
  • Архивы

    • Июнь 2016 (2)
    • Март 2016 (2)
    • Январь 2016 (3)
    • Ноябрь 2015 (2)
    • Август 2015 (1)
    • Февраль 2015 (1)
    • Январь 2015 (7)
    • Октябрь 2014 (1)
    • Июнь 2014 (1)
    • Май 2014 (1)
    • Апрель 2014 (7)
    • Февраль 2014 (9)
    • Январь 2014 (5)
    • Декабрь 2013 (7)
    • Ноябрь 2013 (1)
    • Октябрь 2013 (3)
    • Август 2013 (4)
    • Июль 2013 (4)
    • Июнь 2013 (3)
    • Апрель 2013 (2)
    • Март 2013 (2)
    • Февраль 2013 (6)
    • Январь 2013 (2)
    • Декабрь 2012 (1)
    • Ноябрь 2012 (2)
    • Октябрь 2012 (7)
    • Сентябрь 2012 (22)
Все права защищены © 2014 Gemini_13's Blog
G13.org.ua