Перейти к содержанию
lavka

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

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

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

 

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

 

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

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

 

Попадает на 

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

Поделиться сообщением


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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость brk

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

Поделиться сообщением


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

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

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

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

 

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

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

Поделиться сообщением


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

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

 

Нужно, чтобы 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 обработку и переадресацию на страницу ошибки при каком-то условии и предполагаю, что именно это то, что нужно. Но я не смог разобраться с этим местом и понять, как перебрасывать в категорию. Если кто может помочь, буду признателен.

Поделиться сообщением


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

Подниму, надеюсь на помощь!

Поделиться сообщением


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

Ладно. Кто готов сделать это за деньги? Пожалуйста, указывайте сумму и срок сразу.

Поделиться сообщением


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

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

Поделиться сообщением


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

Я не знаю урла несуществующего товара. Их может быть сотни, я не стану следить за каждым и тем более набивать 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, про остальные версии утверждать не буду.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Может все же можно как-то придумать? 

Нужно что бы из битого товара попадал на страницу категории и был 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/

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

 

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

 

 

Поделиться сообщением


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

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

 

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

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

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

Поделиться сообщением


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

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

 

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

 

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

Поделиться сообщением


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

Помогите с переадресацией

Старые несуществующие адреса index.php?route=record/record&record_id=

Новые index.php?route=extension/d_blog_module/post&post_id=

Поделиться сообщением


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

@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 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

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

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.