Борис И

Борис И

Был в сети 15 января 2023, 17:28
Заказы не принимаю
Добрый день. Не удержался добавить и свои 5 копеек.
Рассуждая о seo и красоте, не стоит забывть о главной цели интернет магазина — это продажи. Где взяться этим продажам, если нет целевых (это важно) посетителей? Вот и приходится использовать все возможные средства и искать баланс между красотой и танцами с бубном.
На мой взгляд хорошая
идея. Но стоит учесть, что сеошники видимо хотят получить «живые» ссылки на индексируемые страницы. Если ссылок поисковикам будет не видно или страницы на которые ведут эти ссылки будут генерироваться на лету (не будут проиндексированы с заданными title,...) то толку от таких страниц и ссылок, будет не много.
Лучшее SEO, по моему мнению, это создание удобного и полезного контента.
Верно, для контентных сайтов с низкой конкуренцией.
Можно говорить, что для магазинов это не работает, но это чушь.Нужно создавать на сайтах обзоры товаров и рекомендации из разряда «как выбрать чайник» и прочее ....
Согласен, но отчасти. Вы всегда покупаете товар там, где читаете обзор? С точки зрения, поддержки продающих страниц, можно, но не более. (есть личный опыт, конверсия с обзоров крутится мене 1%, но там нюансы в худшую сторону, на которые нет возможности повлиять).
Пусть у вас будет 1000 обзоров, но цена на 10% выше, большинство покупателей уйдет туда где дешевле, с удовольствием прочитав ваш обзор. Вот и получится, что пользователя привлекли, а покупателя нет.
Ключевым фактором, уже для привлеченного целевого пользователя в интернет магазине, будет цена и удобство. В удобство я включаю доставку и процедуру заказа (нормальная форма заказа,...).
… найдут в себе смелость послать куда подальше ПС с их требованиями, если это позволит увеличить удобство для клиента
Если вы не «ulmart», послав ПС, где вы возьмете клиента на молодом интернет магазине, останется только реклама, он же контекст, что тоже предоставляют ПС, замкнутый круг.
Про modx.pro, это не интернет магазин и лидер очень узкой ниши, можно сказать нет конкурентов. За счет поведенческих и контента, прощается многое. А что будет если добавить с десяток мощных, развитых конкурентов (у интернет магазинов, например, бытовой техники их сотни). Нужно будет доставать шаманский бубен и бороться с дублями или нет, это вопрос.

Копайте в сторону настройки параметров сниппета: Jevix (обратить внимание, в нем нужно выбрать Ticket, а не по умолчанию). Сам сниппет найдете в панельке слева, а не в настройках.
Приведу пример своих настроик (уже не помню что там понатыкал).
cfgAllowTagParams
{"pre":{"class":["prettyprint"]},"cut":{"title":["#text"]},"a":["title","href","class","target","rel"],"img":{"0":"src","alt":"#text","1":"title","align":["right","left","center"],"width":"#int","height":"#int","hspace":"#int","vspace":"#int","itemprop":"#text"},"h2":["id"],"h3":["id"],"h4":["id"],"p":["class"],"div":["class"]}
cfgAllowTags
p,div,a,img,i,b,u,em,strong,li,ol,ul,sup,abbr,pre,acronym,h1,h2,h3,h4,h5,h6,cut,br,code,s,blockquote,table,tr,th,td,video,id,tbody
cfgSetTagParamDefault
[["a",rel,null,true]]
cfgSetTagParamsRequired
{"img":["src"],"a":["href"]}
В решение был код
<?php
switch ($modx->event-name) {
	case 'OnBeforeUserFormSave':
		if ($profile = $user->getOne('Profile') and !$profile->get('email')) {
			$profile->set('email', $user->get('username').'@site.ru');
		}
		break;
	default: break;
}
Спасибо Воеводскому Михаилу, подсмотрел решение.
Но у меня этот код не завелся.
Работает только так
<?php
switch ($modx->event-name) {
	case '1':
		if ($profile = $user->getOne('Profile') and !$profile->get('email')) {
			$profile->set('email', $user->get('username').'@site.ru');
		}
		break;
	default: break;
}
Только что-то не нравится мне, отсутсвие проверки, перепробовал кучу событий на user, вставлял разные в case (дошел уже до метода тыка), ни одно не прошло
Не работает, работает только так
<?php
switch ($modx->event-name) {
	case '1':
		if ($profile = $user->getOne('Profile') and !$profile->get('email')) {
			$profile->set('email', $user->get('username').'@site.ru');
		}
		break;
	default: break;
}
Только что-то не нравится мне, отсутсвие проверки, перепробовал кучу событий на user
Точно уже не помню, как то так, но будет некорректно считать после скольки символов всталять рекламу
<?php
//спустя сколько символов искать перенос строки и вставлять рекламу 1?
$nu = 3800;
//Код рекламы
$adsense = <<<HTML
<div class="sense">
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>

<ins class="adsbygoogle"
     style="display:inline-block;width:728px;height:90px"
     data-ad-client="ca-pub-1233335915169539"
     data-ad-slot="2233378009"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></div>
HTML;
$a = preg_replace('@([^^]{'.$nu.'}.*?)(\r?\n\r?\n|</p>)@', "\\1$adsense\\2", trim($content), 1);

//спустя сколько символов искать перенос строки и вставлять рекламу 2?
$nu1 = 5400;
//Код рекламы
$adsense1 = <<<HTML
<div class="sense">
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>

<ins class="adsbygoogle"
     style="display:inline-block;width:728px;height:90px"
     data-ad-client="ca-pub-1233335915169539"
     data-ad-slot="2233378009"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></div>
HTML;
$a1 = preg_replace('@([^^]{'.$nu1.'}.*?)(\r?\n\r?\n|</p>)@', "\\1$adsense1\\2", trim($a), 1);
return $a1;