Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

[Решено] Seo pro режет ссылку


zovax

Recommended Posts

Установлен модуль SEO PRO. В админке все включено.

Включить ЧПУ: да, Тип ЧПУ: SeoPro, ЧПУ товаров с категориями: да.

 

Но столклунлся с проблемой следущего рода.

 

Когда пытаюсь проставить UTM метки например: site/tovar?utm_medium=cpc&utm_source=reklama&utm_campaign=tovar&utm_content=2310906

 

То при переходе по этой сссылке "site/tovar?utm_medium=cpc&utm_source=reklama&utm_campaign=tovar&utm_content=2310906" , в адресной строке остается только "site/tovar" , все остальное фильтруется(урезается) и по этому статистические данные не передаются на ЯМ или ГА.

 

Когда отключаю SeoPro все нормально. Подскажите, что надо отредактировать чтоб ссылка не фильтровалась и полностью отображалась в адресной строке браузера.

Надіслати
Поділитися на інших сайтах


например если перейти по этой ссылке http://ely.com.ua/w-parfum/gucci-gucci-premiere?utm_medium=cpc&utm_source=reklama&utm_campaign=tovar&utm_content=2310906 то в адресной строке останится только http://ely.com.ua/w-parfum/gucci-gucci-premiere

Надіслати
Поділитися на інших сайтах


Не имеет значение на каком сайте. тут связка opencart+seopro и фильтруются символы.  Как это можно исправить? Чтоб ссылка с меткой отображались в адресной строке полностью, а не только ссылка.

Надіслати
Поділитися на інших сайтах


  • 3 months later...

То же столкнулась с такой проблемой, правда в моем случае если ставить метку на категорию, то метки считываются!

 

Как я поняла, в seo_pro.php за это отвечает

 

if (count($data)) {
$seo_url .= '?' . urldecode(http_build_query($data, '', '&'));
}
 
Правда как сделать так, чтобы в товаре метка метка не терлась, пока не знаю, если появятся идеи - пишите, если разберусь, отпишусь так же!
Надіслати
Поділитися на інших сайтах


все эти "utm_" надо @добавлять в исключения@ в контроллере seo_pro [=== catalog/controller/common/seo_pro.php ===] :

		switch ($route) {
			case 'product/product':
				if (isset($data['product_id'])) {
					$tmp = $data;
					$data = array();
					if ($this->config->get('config_seo_url_include_path')) {
						$data['path'] = $this->getPathByProduct($tmp['product_id']);
						if (!$data['path']) return $link;
					}
					$data['product_id'] = $tmp['product_id'];
					if (isset($tmp['tracking'])) {
						$data['tracking'] = $tmp['tracking'];
					}
				}
				break;
по аналогии с

					if (isset($tmp['tracking'])) {
						$data['tracking'] = $tmp['tracking'];
					}
(это для товара; для категорий - там ниже код).
  • +1 2
Надіслати
Поділитися на інших сайтах

Я честно говоря не сильна в php, покопалась, в итоге сделала так:

 

удалила блок кода из [=== catalog/controller/common/seo_pro.php ===] :

 

case 'product/product':
if (isset($data['product_id'])) {
$tmp = $data;
$data = array();
if ($this->config->get('config_seo_url_include_path')) {
$data['path'] = $this->getPathByProduct($tmp['product_id']);
if (!$data['path']) return $link;
}
$data['product_id'] = $tmp['product_id'];
if (isset($tmp['tracking'])) {
$data['tracking'] = $tmp['tracking'];
}
}
break;
 
Результат - чпу товаров остались, при этом есть возможность ставить utm метки, не знаю насколько это правильно, но вроде все работает, 
 
Спасибо!
  • +1 1
Надіслати
Поділитися на інших сайтах


для тех, кто:

		switch ($route) {
			case 'product/product':
				if (isset($data['product_id'])) {
					$tmp = $data;
					$data = array();
					if ($this->config->get('config_seo_url_include_path')) {
						$data['path'] = $this->getPathByProduct($tmp['product_id']);
						if (!$data['path']) return $link;
					}
					$data['product_id'] = $tmp['product_id'];
					if (isset($tmp['tracking'])) {
						$data['tracking'] = $tmp['tracking'];
					}
					// --- add below
					if (isset($tmp['utm_medium'])) {
						$data['utm_medium'] = $tmp['utm_medium'];
					}
					if (isset($tmp['utm_source'])) {
						$data['utm_source'] = $tmp['utm_source'];
					}
					if (isset($tmp['utm_campaign'])) {
						$data['utm_campaign'] = $tmp['utm_campaign'];
					}
					if (isset($tmp['utm_content'])) {
						$data['utm_content'] = $tmp['utm_content'];
					}
					// --- add above
				}
				break;
  • +1 3
Надіслати
Поділитися на інших сайтах

  • 9 months later...

Я только не пойму почему так сделано, почему seo_pro удаляет переменные get ? Не понимаю я этого

Надіслати
Поділитися на інших сайтах

  • 7 months later...
  • 2 months later...

У меня в урле utm метка не режется, а отображается полностью. Но в метрике показываются только первые 3 параметра. Ссылка выглядит так:

site.ru/tovar.html?utm_source=yandex&utm_medium=cpc&utm_campaign=tovar&type={source_type}&source={source}&block={position_type}&position={position}&keyword={keyword}

В seopro добавил такие строчки

// --- add utm
if (isset($tmp['utm_source'])) {
$data['utm_source'] = $tmp['utm_source'];
}
if (isset($tmp['utm_medium'])) {
$data['utm_medium'] = $tmp['utm_medium'];
}
if (isset($tmp['utm_campaign'])) {
$data['utm_campaign'] = $tmp['utm_campaign'];
}
if (isset($tmp['type'])) {
$data['type'] = $tmp['type'];
}
if (isset($tmp['source'])) {
$data['source'] = $tmp['source'];
}
if (isset($tmp['block'])) {
$data['block'] = $tmp['block'];
}
if (isset($tmp['position'])) {
$data['position'] = $tmp['position'];
}
if (isset($tmp['keyword'])) {
$data['keyword'] = $tmp['keyword'];
}
if (isset($tmp['yclid'])) {
$data['yclid'] = $tmp['yclid'];
}
if (isset($tmp['gclid'])) {
$data['gclid'] = $tmp['gclid'];
}
// --- add utm

Почему последние 5 параметров

&type={source_type}
&source={source}
&block={position_type}
&position={position}

&keyword={keyword}

не попадают в метрику?

Змінено користувачем fjeka
Надіслати
Поділитися на інших сайтах


  • 2 months later...
Подскажите что не так??

Нужно добавить yclid метки, а то метрика начала глючить.

 

Скопировал как в примере и не зная как именно и что там добавлять - добавил как смог =)

 

И все равно не работает. Когда добавляю в конце  http://example-shop.ru/offer.html?ymclid=123456  обратно переадресовывает в нормальный вид (без"?ymclid=123456").

 

Удалял $data = array(); тож не помогает =(

Хелп!

 

 

 

$data = array();

parse_str($component['query'], $data);

 

$route = $data['route'];

unset($data['route']);

 

switch ($route) {

case 'product/product':

if (isset($data['product_id'])) {

$tmp = $data;

$data = array();

if ($this->config->get('config_seo_url_include_path')) {

$data['path'] = $this->getPathByProduct($tmp['product_id']);

if (!$data['path']) return $link;

}

$data['product_id'] = $tmp['product_id'];

if (isset($tmp['tracking'])) {

$data['tracking'] = $tmp['tracking'];

}

// --- add utm

if (isset($tmp['utm_yclid'])) {

$data['utm_yclid'] = $tmp['utm_yclid'];

}

if (isset($tmp['yclid'])) {

$data['yclid'] = $tmp['yclid'];

}

if (isset($tmp['utm_source'])) {

$data['utm_source'] = $tmp['utm_source'];

}

if (isset($tmp['utm_medium'])) {

$data['utm_medium'] = $tmp['utm_medium'];

}

if (isset($tmp['utm_campaign'])) {

$data['utm_campaign'] = $tmp['utm_campaign'];

}

if (isset($tmp['type'])) {

$data['type'] = $tmp['type'];

}

if (isset($tmp['source'])) {

$data['source'] = $tmp['source'];

}

if (isset($tmp['block'])) {

$data['block'] = $tmp['block'];

}

if (isset($tmp['position'])) {

$data['position'] = $tmp['position'];

}

if (isset($tmp['keyword'])) {

$data['keyword'] = $tmp['keyword'];

}

if (isset($tmp['yclid'])) {

$data['yclid'] = $tmp['yclid'];

}

if (isset($tmp['gclid'])) {

$data['gclid'] = $tmp['gclid'];

}

// --- add utm

 

}

break;

Надіслати
Поділитися на інших сайтах


  • 5 weeks later...
  • 4 weeks later...

Ребят, как увидеть что UTM метка режется модулем SEO Pro? Просто по ссылке с ней перейти? Метка должна оставаться после загрузки страницы так?

В самом прайсе-выгрузке для маркета метка видна все ок.

Надіслати
Поділитися на інших сайтах


 

Starter,tdl13 Для яндекс-маркета нужно добавить:

if (isset($tmp['ymclid'])) {
	$data['ymclid'] = $tmp['ymclid'];
					}

 

Мог бы кто то в едином посте привести пример кода для Маркета, который нужно вставить в SeoPro чтобы метки не отбрасывались?

Метка такая: utm_medium=market&utm_term={product_id}

Надіслати
Поділитися на інших сайтах


Прочитав весь пост, вставил следующий код, вроде учел все сообщения:

 

switch ($route) {
            case 'product/product':
                if (isset($data['product_id'])) {
                    $tmp = $data;
                    $data = array();
                    if ($this->config->get('config_seo_url_include_path')) {
                        $data['path'] = $this->getPathByProduct($tmp['product_id']);
                        if (!$data['path']) return $link;
                    }
                    $data['product_id'] = $tmp['product_id'];
                    if (isset($tmp['tracking'])) {
                        $data['tracking'] = $tmp['tracking'];
                    }
                    if (isset($tmp['utm_medium'])) {
                        $data['utm_medium'] = $tmp['utm_medium'];
                    }
                    if (isset($tmp['utm_source'])) {
                        $data['utm_source'] = $tmp['utm_source'];
                    }
                    if (isset($tmp['utm_campaign'])) {
                        $data['utm_campaign'] = $tmp['utm_campaign'];
                    }
                    if (isset($tmp['utm_content'])) {
                        $data['utm_content'] = $tmp['utm_content'];
                    }
                    if (isset($tmp['yclid'])) {
                        $data['yclid'] = $tmp['yclid'];
                    }
                    if (isset($tmp['gclid'])) {
                        $data['gclid'] = $tmp['gclid'];
                    }
                    if (isset($tmp['utm_term'])) {
                        $data['utm_term'] = $tmp['utm_term'];
                    }
                }
                break;

 

Но проблема осталась, метка частично только остается конечная часть режется все равно:

От ?utm_medium=market&utm_term=2021

Остается тока ?utm_medium=market, вопрос почему?

Надіслати
Поділитися на інших сайтах


  • 1 month later...

Подскажите, как настроить seo pro, чтоб не резал основную рубрику 

 

Чтоб было 

http://www.адрес.ру/категория/товар

А не 

http://www.адрес.ру/товар
Надіслати
Поділитися на інших сайтах


Укажите в настройках магазина, вкладка сервер - там где выбор seo_pro - показывать товары с категориями - "да".

Да, я главного не сказал.. мне нужна только основная категория, субкатегории не нужны

 

В идеале Надо чтоб при перемещении по категориям и субкатегориям адрес был вида

 http://www.pishpro.ru/categories/субкатегория

 (сейчас это /categories/субкатегория/субкатегория и тд. в зависимости от вложенности)

А при заходе в товар адрес был вида 

http://www.pishpro.ru/products/товар 

(только основная категория products, без подрубрик) сейчас это /products/субкатегория/субкатегория/товар в зависимости от вложенности.

Змінено користувачем zorky
Надіслати
Поділитися на інших сайтах


  • 2 weeks later...
  • 2 weeks later...

для opencart 2 все вышеперечисленное не работает, есть у кого мысли?

 

Да вроде работает. Вот так себе сделал, пока не знаю на счет всех добавленных исключений, но яндекс метрика стала показывать переходы по рекламе.

switch ($route) {
			case 'product/product':
				if (isset($data['product_id'])) {
					$tmp = $data;
					$data = array();
					if ($this->config->get('config_seo_url_include_path')) {
						$data['path'] = $this->getPathByProduct($tmp['product_id']);
						if (!$data['path']) return $link;
					}
					$data['product_id'] = $tmp['product_id'];
					if (isset($tmp['tracking'])) {
						$data['tracking'] = $tmp['tracking'];
					}
					// --- add below
					if (isset($tmp['utm_medium'])) {
						$data['utm_medium'] = $tmp['utm_medium'];
					}
					if (isset($tmp['utm_source'])) {
						$data['utm_source'] = $tmp['utm_source'];
					}
					if (isset($tmp['utm_campaign'])) {
						$data['utm_campaign'] = $tmp['utm_campaign'];
					}
					if (isset($tmp['utm_content'])) {
						$data['utm_content'] = $tmp['utm_content'];
					}
					if (isset($tmp['yclid'])) {
						$data['yclid'] = $tmp['yclid'];
					}
					if (isset($tmp['ymclid'])) {
					$data['ymclid'] = $tmp['ymclid'];
					}
					if (isset($tmp['gclid'])) {
						$data['gclid'] = $tmp['gclid'];
					}
					if (isset($tmp['utm_term'])) {
						$data['utm_term'] = $tmp['utm_term'];
					}
					if (isset($tmp['type'])) {
					$data['type'] = $tmp['type'];
					}
					if (isset($tmp['block'])) {
					$data['block'] = $tmp['block'];
					}
					if (isset($tmp['position'])) {
					$data['position'] = $tmp['position'];
					}
					if (isset($tmp['keyword'])) {
					$data['keyword'] = $tmp['keyword'];
					}
					// --- add above
Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.