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

Редирект в категорию, если битая ссылка на товар


Recommended Posts

Подскажите, пожалуйста, как сделать редирект в ту категорию, где был отключенный/удаленный товар?

 

Пользователь приходит из поиска и получает 404 страницу, а нужно, чтобы было так:

 

Заходит на несуществующую страницу

www.мойсайт.ру/категория/товар.html

 

Попадает на 

www.мойсайт.ру/категория/

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


так делать нельзя. 
Сделайте лучше на странице 404 торговое предложение с промо кодом на скидку для тех кто попал на эту страницу или можно вывести список категорий прямо на эту страницу

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


так делать нельзя. 

Сделайте лучше на странице 404 торговое предложение с промо кодом на скидку для тех кто попал на эту страницу или можно вывести список категорий прямо на эту страницу

Интересное предложение, спасибо. А вы уверены, что так сделать нельзя? У многих конкурентов видел это (не опенкарт)

 

лучше обождать пару-тройку апов чтобы отвалились страницы с 404 и вылезла новые.

Не могу пока разобраться с апдейтами - сайт в индексе с начала марта, после изменения SEO URL категорий (ставили редиректы со старых урлов) прошло уже три недели, а в выдаче гугла есть старые SEO URL. А яндекс и вовсе показывает не основной домен, а зеркало в зоне рф...

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


  • 2 months later...

Может быть появилось решение? Абсолютно уверен, что на опенкарте существует такая возможность - видел у конкурентов.

 

Нужно, чтобы URL страницы с отсутствующим товаром не включал &product_id в адресе, а просто переходил в категорию. Не могу понять, какой файл или код за это отвечает, замучился искать.

Подскажите, пожалуйста!

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


Может быть появилось решение? Абсолютно уверен, что на опенкарте существует такая возможность - видел у конкурентов.

 

Нужно, чтобы URL страницы с отсутствующим товаром не включал &product_id в адресе, а просто переходил в категорию. Не могу понять, какой файл или код за это отвечает, замучился искать.

Подскажите, пожалуйста!

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

я делаю так

RewriteCond %{QUERY_STRING} '^_route_=категория/несуществующий-товар$'
RewriteRule ^(.*)$ http://www.вашдомен.com/категория.html/? [R=301,L]

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

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


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

я делаю так

RewriteCond %{QUERY_STRING} '^_route_=категория/несуществующий-товар$'
RewriteRule ^(.*)$ http://www.вашдомен.com/категория.html/? [R=301,L]

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

 

Я не знаю урла несуществующего товара. Их может быть сотни, я не стану следить за каждым и тем более набивать htaccess до мегабайтных размеров :)

 

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

 

Я видел в контроллере product.php обработку и переадресацию на страницу ошибки при каком-то условии и предполагаю, что именно это то, что нужно. Но я не смог разобраться с этим местом и понять, как перебрасывать в категорию. Если кто может помочь, буду признателен.

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


  • 2 weeks later...

Я не знаю урла несуществующего товара. Их может быть сотни, я не стану следить за каждым и тем более набивать htaccess до мегабайтных размеров :)

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

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


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

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

А почему категория упадет?

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


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

А почему категория упадет?

Вам выше, дали очень хороший совет. Сделать 404 страницу.

Пользователь идет по запросу на определенную страницу(прочитав сниппет), ожидая увидеть товар. А что увидит? Не то, что ожидает.

 

Ражируется страница под запрос, а редирект на категории, это уже другая страница и другие запросы. не путайте бота.

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


Вам выше, дали очень хороший совет. Сделать 404 страницу.

Пользователь идет по запросу на определенную страницу(прочитав сниппет), ожидая увидеть товар. А что увидит? Не то, что ожидает.

 

Ражируется страница под запрос, а редирект на категории, это уже другая страница и другие запросы. не путайте бота.

 

Посетитель найдет свой товар в категории. Ведь по сути у товара просто изменился адрес, а имя модели и фотография остались, так что клиент узнает, что ему нужно. А если у меня и правда нет того товара - мне нечего терять, если он уйдет из категории или с 404 страницы.

 

Сейчас страница 404 есть, но никто не стал искать потерянный товар. Поэтому и хочу приводить их в категорию.

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


Я обнаружил, что обработка нужной мне темы ведется в controller/common/seo_pro.php:

if (count($rows) == sizeof($parts)) {
				$queries = array();
				foreach ($rows as $row) {
					$queries[utf8_strtolower($row['keyword'])] = $row['query'];
				}

				reset($parts);
				foreach ($parts as $part) {
					$url = explode('=', $queries[$part], 2);

					if ($url[0] == 'category_id') {
						if (!isset($this->request->get['path'])) {
							$this->request->get['path'] = $url[1];
						} else {
							$this->request->get['path'] .= '_' . $url[1];
						}
					} elseif (count($url) > 1) {
						$this->request->get[$url[0]] = $url[1];
					}
				}
			} else {
				$this->request->get['route'] = 'error/not_found';
			}

Вместо этого я сделал следующий код:

if (count($rows) == sizeof($parts)) {
				/* тут без изменения */
			} else {

				$queries = array();
				foreach ($rows as $row) {
					$queries[utf8_strtolower($row['keyword'])] = $row['query'];
				}

				reset($parts);
				foreach ($parts as $part) {
					$url = explode('=', $queries[$part], 2);

					if ($url[0] == 'category_id') {
						if (!isset($this->request->get['path'])) {
							$this->request->get['path'] = $url[1];
						} else {
							$this->request->get['path'] .= '_' . $url[1];
						}
					} elseif (count($url) > 1) {
						$this->request->get[$url[0]] = $url[1];
					}
				}
			
				if (isset($this->request->get['product_id'])) {
					$this->request->get['route'] = 'product/category';
				} else {
					$this->request->get['route'] = 'error/not_found';
				}

			}

Короче, скопировал функцию из первого условия и кусочек кода далее после этого условия, заменив подстановку категорий, если есть код продукта и 404 страницы в остальных случаях.

 

Все работает. Как и в большинстве случаев на этом форуме - бесплатную помощь можно ждать лишь от себя.

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


и будет перенаправление в категорию товара?

Не, морковный сок в постель и снижение паводков в центральной полосе :)

 

Будет. Я думаю, профессионалы плачут горючими слезами от этого куска кода, но у меня он прекрасно работает и выполняет то, что мне было нужно.

Единственное - об ответе 404 в этом случае можете забыть, категория скажет поисковику 200 OK, но я не особо согласен, что это плохо.

 

PS. У меня 1.5.5.1.1, про остальные версии утверждать не буду.

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


  • 2 years later...
Может все же можно как-то придумать? 

Нужно что бы из битого товара попадал на страницу категории и был 404 ответ что бы страница товара выпала из индекса.

Пример: site.ru/category?error=404 не будет канать так как код будет 200

Но если к примеру: site.ru/category/error=404 и ответ 404 то будет работать, клиент получит другие варианты 

Единственное функционально если  category/error=404 то это новая страница а не подстановка параметров.

 

Может кто-то видел рабочие примеры? 

Все же страница категории где был этот товар, и другие аналогичные товары это более информативно и полезно для клиента чем просто пустая страница 404 или даже с рекламным предложением.

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


 

Может все же можно как-то придумать? 
Нужно что бы из битого товара попадал на страницу категории и был 404 ответ что бы страница товара выпала из индекса.
Пример: site.ru/category?error=404 не будет канать так как код будет 200
Но если к примеру: site.ru/category/error=404 и ответ 404 то будет работать, клиент получит другие варианты 
Единственное функционально если  category/error=404 то это новая страница а не подстановка параметров.
 
Может кто-то видел рабочие примеры? 
Все же страница категории где был этот товар, и другие аналогичные товары это более информативно и полезно для клиента чем просто пустая страница 404 или даже с рекламным предложением.

 

 

Правильней разместить на странице 404 ссылки "смотрите другие товары из этой категории" и ссылку на категорию

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


Вот как вариант решение :)

 

вот такой модуль

 

http://demo2.slasoft.kharkov.ua/

в демке - называется компы на главной

 

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

 

 

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

  • 2 weeks later...

Я не знаю урла несуществующего товара.

 

Зайдите в Search Consol Google, ошибки сканирования

Скачайте битые ссылки в Excel и поставьте урлы на которые надо перенаправлять робота, после чего поставьте ТЗ программисту или сделайте сами.

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

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


  • 1 month later...

ТС хотел сказать, что у него периодически появляются отключенные\удаленные товары и он не может постоянно знать их точные ссылки. Поэтому нужен способ просто их редиректить на категорию товара.

 

Например, однажды такая необходимость появлась и у нас, когда нам нужно выправить поле model у всех товаров в базе от 1 до 99999. Т.е. сначала удалили все выкупленные товары из базы, потом через Excel выправили поле model от 1 до 99999 (например), при этом все товары как-бы сдвинулись по номерам. И ссылки типа site.com/malysham/bodi-nebolshoj-naches-772.html сломались, т.к. теперь это уже не 772-ой товар, а 771-й! Т.е. сам сайт работал нормально: переход в карточку товара происходил нормально. Но вот ссылки из гугл или переходы из рекламы соц.сетей уже не отрабатывались. И была 404 ошибка.

 

Однажды (единожды) мы так сделали, потом гугл отодвинул сайт очень далеко на парочку недель. Но потом все восстановилось.

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


  • 1 year later...
  • 1 month later...

@Einshtein

 

немогу в толк взять. Что плохого? 

 

В 31.03.2014 в 10:23, Einshtein сказал:

так делать нельзя. 
Сделайте лучше на странице 404 торговое предложение с промо кодом на скидку для тех кто попал на эту страницу или можно вывести список категорий прямо на эту страницу

 

Например, есть товар, которого точно не будет никогда в продаже. Логично если ошибка 404. Ладно, но человеку пришедшему по ссылке важно понимать, что есть еще десятки товаров ОЧЕНЬ похожих по своему назначению. По моему полностью оправдано перенаправить человека сразу в категорию, где размещался удалённый товар, ведь там он с высокой вероятностью найдет аналог, а то и вариант лучше. 

 

Если имеется ввиду не логическая сторона вопроса, а техническая - вы где то конкретно прочитали, что так делать нельзя? Не могу понять почему конкретно нельзя.

 

 

 

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

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


В 28.06.2018 в 19:30, Guava сказал:

@Einshtein

 

немогу в толк взять. Что плохого? 

 

 

Например, есть товар, которого точно не будет никогда в продаже. Логично если ошибка 404. Ладно, но человеку пришедшему по ссылке важно понимать, что есть еще десятки товаров ОЧЕНЬ похожих по своему назначению. По моему полностью оправдано перенаправить человека сразу в категорию, где размещался удалённый товар, ведь там он с высокой вероятностью найдет аналог, а то и вариант лучше. 

 

Если имеется ввиду не логическая сторона вопроса, а техническая - вы где то конкретно прочитали, что так делать нельзя? Не могу понять почему конкретно нельзя.

 

 

 

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

Плохо то, что сервер не успеет отдать 404 ошибку, и при редиректе на другую страницу хз как поисковик отреагирует. Так как поисковики со временем удаляют 404 страницы из индекса, а если он не узнает о том что они есть - они могут так и остаться в свободном плавании, что в итоге может привести к переизбытку 404 страниц на сайте и вероятно скажется на позициях в поиске. Плюс хз как поискивик отреагирует на такие редирект и не склеит ли дубли. Если уж так хочется редирект - делайте через таймаут, например через JS с таймаутом в пару секунд, чтобы и пользователь мог понять что происходит и куда его перенаправляют и поисковик получил свой ответ о 404

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


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

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

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

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

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

Вхід

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

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

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

Important Information

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