Перейти к контенту

"Интеллектуальный" meta Keywords


Рекомендуемые сообщения

Есть сдвиг; добавлен модуль подсчета целевого трафика из поисковок.

 

Считаются целевые посетители (1)

Есть статистика по топикам(2)

Для каждого сообщения можно посмотреть сколько целевых посетителей привлекло и по каким словам (3)

Можно посмотреть количество привлеченных целевых посетителей по юзерам, и перейти к списку всех "привлекательных" сообщений этого юзера (4).

 

Эта часть мода пока на стадии отладки.

post-38073-1229604197_thumb.png

post-38073-1229604422_thumb.png

post-38073-1229604647_thumb.png

post-38073-1229604875_thumb.png

Ссылка на комментарий
Поделиться на других сайтах

  • Ответы 61
  • Создана
  • Последний ответ

Лучшие авторы в этой теме

Лучшие авторы в этой теме

Загружено фотографий

я так понимаю из ответов что мод пока имеет статус *опен сорсс* ?

мне сложно собрать все вкучу из того о чем пишется в этом топе, я недостаточно подкован в PHP ксожалению

может автор или кто то еще соберет все в кучу?

и вот еще что подумал, насчет тега тайтл, скажем отразится ли как то релевантность страниц в поиске если скажем мы будем в тайтле указывать по аналогии наиболее значимые слова из каждого топа (так сказать аптимизированно)я вот к примеру наблюдаю за ресурсом который сам продвигаю и могу сказать что тайтл тоже как бы влияет...

Ссылка на комментарий
Поделиться на других сайтах

я так понимаю из ответов что мод пока имеет статус *опен сорсс* ?

Выложенное в этом топике - да.

Но это лишь маленький кусочек большого проекта, с которым сейчас работаю, весь проект наверное не будет опенсорсным.

Смысл проекта вот в чем: перестать гадать о методиках поискового ранжирования, и начать анализировать входящий трафик сайта, по результатам анализа поднимать те параметры сайта, которые повлияли на трафик.

Мета-кейворды и мета-дескрипшны - лишь 2 элемента из многих, которые учитываются и изменяются в зависимости от входящего трафика.

 

 

 

насчет тега тайтл, скажем отразится ли как то релевантность страниц

После установки индивидуальных кейвордов и дескрипшнов каждой странице, количество проиндексированных страниц за 2-3 месяца выросло впятеро.

В серпе страницы не поднялись, но приток посетителей по НЧ за прошедшие 4 месяца уже удвоился, и продолжает расти.

Ссылка на комментарий
Поделиться на других сайтах

Но это лишь маленький кусочек большого проекта, с которым сейчас работаю, весь проект наверное не будет опенсорсным.

 

когда же можно примерно ожидать готовую версию и сколько она может стоить?

Ссылка на комментарий
Поделиться на других сайтах

Рано говорить о цене; продукта как такового еще нет; есть лишь скелет основных функций, кое как работающий на двух форумах, и идет отладка этих функций.

Под "двушки" наверняка ничего не будет делаться. Сейчас делаю на "однушке", и не думаю, что доделаю раньше, чем появятся "трешки". Может под будущую "трешку" что-то будет.

Ссылка на комментарий
Поделиться на других сайтах

в случае если мод будет успешно фунциклировать на 2.3.6

Версия для 2.1 отлично работает на 2.2 и 2.3

У меня назрел вопрос...а на кой после каждого кейворда переносится строка?

Ссылка на комментарий
Поделиться на других сайтах

а может кто нить подсказать как реализовать наполнение meta name="description" по названию топика к примеру

кстати код по куйворду работает нормально в 2.3.6 и переноса ключевых слов нету

Ссылка на комментарий
Поделиться на других сайтах

Добавка для учета частот. В php чайник, так что не пинайте...

 

$alltext=strtolower(strip_tags($text));
preg_match_all("/[a-zA-Zа-яА-Я0-9]{3,}/is",$alltext,$word);
$array=array_count_values ($word[0]); 
arsort ($array); 
$array = array_slice($array, 0, 50); 
while (list($key, $val) = each($array)) {$maxikeys .= $key." ";}


				@ob_start(); 
	if(is_readable( "keywords.txt" ))
	{
		include( "keywords.txt" );
		$keys_arr = @ob_get_contents();
	}
	else
	{
		$keys_arr = "форум|форум";
	}
	@ob_end_clean();

	$keys_arr = explode(PHP_EOL,trim($keys_arr));

	$keywords = "";

	foreach ($keys_arr as $key_word)
	{
		$key_word = explode("|",$key_word);
		if( stristr($maxikeys, $key_word[0]) )$keywords .= $key_word[1].", ";
	}
	$keywords .= "endstring";
	$keywords = str_replace(", endstring","",$keywords);

 

думаю как в дексрипшн воткнуть три высокочастотных кейворда с окружающим контекстом...

Ссылка на комментарий
Поделиться на других сайтах

думаю как в дексрипшн воткнуть три высокочастотных кейворда с окружающим контекстом...

Вот мой алгоритм для страниц топиков:

$metadescription = "";
$metadescription_add = "";
if( intval($ibforums->input['t'])>0 )
{
foreach ($keys_arr as $key_word)
{
   $key_word = explode("|",$key_word);
   if(substr_count($keys_string, $key_word[0])>0 and $key_word[2]=='1')$metadescription .= substr_count($keys_string, $key_word[0])."|".$key_word[1]."|||";
}
$metadescription = explode("|||",$metadescription);
if(count($metadescription)>2)
{
rsort($metadescription);
$count_owerflow = 0;
foreach ($metadescription as $key_word)
	{
	$keyword = explode("|",$key_word);
	if($count_owerflow<3)$metadescription_add .= $keyword[1].", ";
	$count_owerflow++;
	}
}


$metadescription_add = str_replace(", ,","",$metadescription_add);
$metadescription_add .= "endofstring";
$metadescription_add = str_replace(", endofstring","",$metadescription_add);
$metadescription_add = str_replace("endofstring","",$metadescription_add);
}
if($metadescription_add != "")$meta_description = "Обсуждение на форуме: ".$metadescription_add.". ".$meta_description;

$ibforums->skin['template'] = str_replace( "<% META %>" 		  , $meta_description		 , $ibforums->skin['template']);

Ссылка на комментарий
Поделиться на других сайтах

FatCat

а подробнее можно как приладить ваш код и куда?

Следом за "интеллектуальными кейвордами".

 

 

 

что получается в результате?
Посмотрите сорцы страницы любого топика на vesvalo.net
Ссылка на комментарий
Поделиться на других сайтах

FatCat

 

я добавляя по методу Архара в ./sources/classes/class_display.php

сразу после его кода..

но не отрабатывает.. выводит пряма на станицу это <% META %>

в чем ошибся? подскажите..

или если использовать ваш код то куда его вставлять? он же для оч старой версии и файла functions.php попросту нет в 2.3.6

 

добавил:

 

попробовал немного изменить так:

		//
$metadescription = "";
$metadescription_add = "";
if( intval($this->ipsclass->input['t'])>0 )
{
foreach ($keys_arr as $key_word)
{
   $key_word = explode("|",$key_word);
   if(substr_count($keys_string, $key_word[0])>0 and $key_word[2]=='1')$metadescription .= substr_count($keys_string, $key_word[0])."|".$key_word[1]."|||";
}
$metadescription = explode("|||",$metadescription);
if(count($metadescription)>2)
{
rsort($metadescription);
$count_owerflow = 0;
foreach ($metadescription as $key_word)
	{
	$keyword = explode("|",$key_word);
	if($count_owerflow<3)$metadescription_add .= $keyword[1].", ";
	$count_owerflow++;
	}
}


$metadescription_add = str_replace(", ,","",$metadescription_add);
$metadescription_add .= "endofstring";
$metadescription_add = str_replace(", endofstring","",$metadescription_add);
$metadescription_add = str_replace("endofstring","",$metadescription_add);
}
if($metadescription_add != "")$meta_description = "Обсуждение на форуме: ".$metadescription_add.". ".$meta_description;

$this->ipsclass->skin['_wrapper'] = str_replace( "<% META %>",$meta_description,$this->ipsclass->skin['_wrapper']);
//

но тогда в сырцах просто пусто и все.. не выводит ничего..

Ссылка на комментарий
Поделиться на других сайтах

Я не спец в двушках.

Проверьте через die($meta_description); - формируется ли сам текст дескрипшна.

Проверьте, что у Вас в шаблоне, я делал для строки:

<meta name="description" content="<% META %>">

И последнее - финальный str_replace - должен быть фактически следующей строкой после str_replace мета-кейвордов (смотреть у Архара).

Ссылка на комментарий
Поделиться на других сайтах

  • 3 недели спустя...
Мод действительно находит совпадение и вставляет ключевики, но не всегда... Некоторые ключевики показываются в коде странице, а некоторые нет! В связи с чем это связано, как бы узнать...
Ссылка на комментарий
Поделиться на других сайтах

  • 4 недели спустя...
На первой странице поднимался вопрос о том, может ли кто-нибудь сделать это под 2.3. Подпишусь ещё раз :D Может ли кто-нибудь сделать доброе дело?)
Ссылка на комментарий
Поделиться на других сайтах

  • 3 месяца спустя...

Сделал как написано выше на первой странице. Все работает. На второй странице в посте 35 не понял про "Добавка для учета частот". "Частотность" - это зачем? Кто объяснит по-простому? Чтоб отсортировать ключевые слова по количеству совпадений в порядке убывания и обрезать, если много слов?

 

а может кто нить подсказать как реализовать наполнение meta name="description" по названию топика к примеру

Я сделал так в <meta name="description" content=" выводится : на странице форумов выводится описание форума, на странице топика выводится название и описание топика.

В исходных текстах пару строк подправить. Могу здесь подсказать, если еще актуально.

Ссылка на комментарий
Поделиться на других сайтах

не понял про "Добавка для учета частот". "Частотность" - это зачем? Кто объяснит по-простому? Чтоб отсортировать ключевые слова по количеству совпадений в порядке убывания и обрезать, если много слов?

4 самых значимых объекта страницы, пречислю в порядке значимости: тайтл, мета-дескрипшн, <h1>, метакейвордс.

У себя сделал:

В тайтл отдается заголовок топика.

Строка навигации заключается в H1.

Затем генерятся мета-дескрипшн и мета-кейвордс. Для этого у меня кейвордам сделаны индексы "0" или "1": единичка означает, что это ключевое слово может использоваться для дескрипшна; нолик - не может.

Список кейвордов можно посмотреть например в http://vesvalo.net/keywords.txt

Когда содержимое страницы собрано в переменной $ibforums->skin['template'] (у двушек может быть иначе), начинает работать мод метатегов.

Сначала забирается первые 64 Кб текста страницы и отдаются функции-счетчику:

		$keys_string = explode("<body",$ibforums->skin['template']);
	if($keys_string[1] != "")$keys_string = strtolower($keys_string[1]);
	else $keys_string = strtolower($keys_string[0]);
	$keys_string = substr(strip_tags($keys_string),0,64000);

	$output = $this->do_meta_info($keys_string);

Функция такая:

	function do_meta_info($keys_string) {
	global $ibforums;

	$output = Array();
	if(is_readable( $ibforums->vars['base_dir']."keywords.txt" ))$keys_arr = file_get_contents($ibforums->vars['base_dir']."keywords.txt");
	else $keys_arr = "форум|форум|0";
	// Пошли считать ключи на странице
	$yes_keywords = Array();
	$yes_descriptions = Array();
	$output['summ_all_keys'] = 0;
	$keys_arr = explode(PHP_EOL,$keys_arr);
	foreach ($keys_arr as $key_word)
	{
		$key_word = explode("|",$key_word);
		// Считаем число вхождений ключа на страницу:
		$num_key_word = substr_count($keys_string, strtolower($key_word[0]));
		$output['summ_all_keys'] += $num_key_word; // считаем общее число ключей на странице
		// Заполняем массивы ключей с числом вхождений:
		if($num_key_word>0)$yes_keywords[] = $key_word[1];
		if( intval($key_word[2]) == 1 and $num_key_word>0 )$yes_descriptions[$key_word[1]] = $num_key_word;  //$yes_descriptions[] = $num_key_word."|".$key_word[1];
	}
	$output['meta_keywords'] = implode( ", ", $yes_keywords ); // Собрали кейворды в строку
	// Сортируем дескрипшны по частоте
	arsort($yes_descriptions);
	// Собираем 3 самых частых в описание:
	$output['meta_descriptions'] = "";
	if( count($yes_descriptions)>0 )
	{
		$i = 0;
		foreach($yes_descriptions as $key => $num)
		{
			if($i<3)$output['meta_descriptions'] .= $key.", ";
			$i++;
		}
		$output['meta_descriptions'] = substr($output['meta_descriptions'],0,-2);
	}
	return $output;
}

На выходе имеем:

$output['meta_keywords'] - содержит список кейвордов страницы через запятую.

$output['meta_descriptions'] - содержит 3 самых частых ключа из числа имеющих индекс "1" через запятую, использующиеся затем в конструкции: "На форуме трам-пам-пам обсуждалось: ключ1, ключ2, ключ3.

Теперь при помощи str_replace текст можно загнать в нужное место на странице. :D

 

 

Дополнительная "вкусность".

Иногда требуется рандомный вывод информации на страницах, но рандомность для просмотра разных страниц. При множественных просмотрах одной страницы эта информация должна быть статичной.

Например, это бывает нужно для вывода рандомного анкора сквозных линков...

$output['summ_all_keys'] - суммарное число всех вхождений всех ключей на странице - число разное для разных страниц, у меня оно колеблется в среднем между 10 и 300; этого вполне достаточно чтобы сделать вполне приличный рандомный вывод сотни варинтов.

Изменено пользователем FatCat
Ссылка на комментарий
Поделиться на других сайтах

FatCat, спасибо - ваш алгоритм помог мне доделать свой.

Я не использую файл keyword.txt - у нас есть облако тегов, где отслеживается количество попаданий ключевого слова в темы (облако похоже на здешнее, моя гордость - сам пилил :D ). Вообщем алгоритм сейчас такой:

1. На уровне главной страницы форума - описание берется из строковой константы и оно не меняется (тег <meta name="description"). Ключевые слова берутся из облака тегов - первые 50 штук из числа самых употребляемых ( тег <meta name="keywords").

2. На уровне форума-подфорума - описание берется из описания форума. "Keywords" - самые употребляемые 30-ть ключевых слов из облака тегов.

3. На уровне топика - описание формируется из названия темы, ее описания и трех самых употребляемых тегов в этом топике.

Ссылка на комментарий
Поделиться на других сайтах

Я не использую файл keyword.txt - у нас есть облако тегов

Это хорошо для продвижения, только остается вопрос: куда продвигается.

Модуль метатегов - у меня лишь один из нескольких модулей, и общая их задача скорее в продвижении в заданном направлении: повышая приток из поисковок по целевым запросам и снижая приток нецелевых, получаем продвижение в желаемом направлении.

keywords.txt - это как руль системы. Меняешь слова в файле - и через пару месяцев меняется контингент посетителей из поисковок.

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.