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

и снова rel="canonical" ....


casand

Recommended Posts

 

ФОрмучане, помогите плз. opencart2.3

 

имеем:

<link href="https://siteurl/child_category" rel="canonical">

а должно быть:

<link href="https://siteurl/parent_category/child_category" rel="canonical">

 

как исправить (желательно без установки seo pro) путь? opeсart пропускает родительскую категорию в формировании link. как результат  - страница исключена из поиска яндекс.

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


4 минуты назад, casand сказал:

как результат  - страница исключена из поиска яндекс.

это результат отказа от сеопро. :)

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

в самом контроллере категории, я бы поставил чекер на проверку category_id и соответственно, перед самой строкой, которая выводит в документ аргумент "canonical" - поставил бы принудительный реврайт или вручную развибку урла с указанием родительской категории (если известно) и же в сам аргумент - отправлял path, на практике, это имеет примерно следующий вид для файла: catalog\controller\product\category.php ... нахожу строку:

$category_info = $this->model_catalog_category->getCategory($category_id);

после неё добавляю:

$mine_canonical = $this->model_catalog_category->getCatPath($category_id);

а после:

$this->document->setKeywords($category_info['meta_keyword']);

добавляю вывод корректного canonical:

		if ($page > 1) {
			$this->document->addLink($this->url->link('product/category', 'path=' . $mine_canonical, true), 'canonical');
		}

но прежде, необходимо в файл модели, добавить выборку родительского пути по категории, для этого добавляем следующий код в файл:

catalog\model\catalog\category.php перед строкой:

public function getCategoryFilters($category_id) {

вот такую функцию выборки:

/* ALarik method get category path
*  OC v 2.x and grater
*  Licensed to rocketlayer SEO module
*/

	public function getCatPath($category_id) {			
		$query = $this->db->query("SELECT GROUP_CONCAT(`path_id` ORDER BY `level` SEPARATOR '_') AS trix FROM `" . DB_PREFIX . "category_path` WHERE category_id = '" . (int)$category_id . "' GROUP BY category_id");
		return $query->num_rows ? $query->row['trix'] : 0;		
	}

вуаля, имеем путь категории с привязаной родительской, приятного пользования, если помог - ставь лайк, тебе не убудет, а мне приятно !

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

1 час назад, casand сказал:

имеем:

<link href="https://siteurl/child_category" rel="canonical">

а должно быть:

<link href="https://siteurl/parent_category/child_category" rel="canonical">

кто сказал?

должно быть так, как уже попало в индекс, если не хотите на пол года уйти в переиндекс

 

достаточно небольших правок для формирования коротких ссылок

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

почему должно быть так?

 

"Страница проиндексирована по каноническому адресу    ......    который был указан в атрибуте rel="canonical" в исходном коде. Исправьте или удалите атрибут canonical, если он указан некорректно. Робот отследит изменения автоматически. "

 

код 200 т.е. удалена из поиска

 

я так понимаю что нужно все таки урл исправить, нет?

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


13 часов назад, casand сказал:

почему должно быть так?

потому что уже

13 часов назад, casand сказал:

Страница проиндексирована по каноническому адресу

 

и если не нужно кучу проблем не нужно ёё менять

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

если страница удалена из поиска, хоть и проиндексирована какой в ней прок? Я так понимаю она должна быть и проиндексирована и в поиске. тем более это заглавные страницы раздела каталога.

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


33 минуты назад, casand сказал:

если страница удалена из поиска

удален дубль

18 часов назад, casand сказал:

https://siteurl/parent_category/child_category

 

потому что в индексе оригинал

18 часов назад, casand сказал:

https://siteurl/child_category

 

 

устранять нужно дубли а не оригиналы

16 часов назад, Otvet сказал:

если не хотите на пол года уйти в переиндекс

 

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

в том то и дело что удален оригинал, а не дубль. Почему вы решили что https://siteurl/child_category  - оригинал? просто изначально он существовал, потом пришлось сменить структуру и добавить одного общего родителя для всех подкатегорий. в итоге https://siteurl/child_category - несуществующая в реале страница.

 

 

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


3 минуты назад, casand сказал:

вы решили

так решила архитектура CMS а не я

далее основываясь на 

19 часов назад, casand сказал:

имеем:

<link href="https://siteurl/child_category" rel="canonical">

так проиндексирован ваш сайт, и так он сейчас выглядит для ПС

 

вы можете мыслить как угодно, хоть что должно быть child_category/siteurl/https, суть это не меняет

 

в данном же случае, вы просто сбросили всё в ноль

если сайту пара недель, на это пофиг

но если рабочий сайт с трафиком и накопленными показателями, вы просто себе навредили

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

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

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

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

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

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

Вхід

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

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

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

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

Important Information

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