Jump to content
lavka

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

Recommended Posts

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

 

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

 

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

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

 

Попадает на 

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
Guest brk

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

Share this post


Link to post
Share on other sites

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

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

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

 

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

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

Share this post


Link to post
Share on other sites

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

 

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

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

Share this post


Link to post
Share on other sites

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

 

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

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

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

я делаю так

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

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

Share this post


Link to post
Share on other sites

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

я делаю так

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

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

 

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

 

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

 

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

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

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

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

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

 

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

Share this post


Link to post
Share on other sites

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

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

 

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

 

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

 

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

Share this post


Link to post
Share on other sites

Я обнаружил, что обработка нужной мне темы ведется в 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 страницы в остальных случаях.

 

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

 

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

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

 

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

Share this post


Link to post
Share on other sites
Может все же можно как-то придумать? 

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

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

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

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

 

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

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

Share this post


Link to post
Share on other sites

 

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

 

 

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

Share this post


Link to post
Share on other sites

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

 

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

 

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

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

 

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

 

 

Share this post


Link to post
Share on other sites

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

 

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

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

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

Share this post


Link to post
Share on other sites

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

 

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

 

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

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

@Einshtein

 

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

 

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

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

 

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

 

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

 

 

 

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

Share this post


Link to post
Share on other sites
В 28.06.2018 в 19:30, Guava сказал:

@Einshtein

 

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

 

 

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

 

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

 

 

 

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

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.