Индексируются ли ссылки в скриптах js?


BuslikDrev
 Поделиться

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

Всем добрый день, кто знает может ли попасть в индекс эта ссылка в скрипте?

Скрытый текст

<script type="text/javascript"><!--
$('input[name^=\'manufactursfilter\']').on('click', function() {
    manufactursfilter = [];

    $('input[name^=\'manufactursfilter\']:checked').each(function(element) {
        manufactursfilter.push(this.value);
    });
    
    if (manufactursfilter != 0) {
        location = 'http://site.by/index.php?route=product/category&path=34_44&manufacturer_id=' + manufactursfilter.join('_');
    } else if (manufactursfilter = []) {
        location = 'http://site.by/mp3-players/test12/' + manufactursfilter.join('_');
    }
});
//--></script>

 

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

Вообще Google научился давно исполнять JS скрипты
Ссылки так точно "выкусит" и проиндексирует (причем возможно в нелицеприятном виде 'http://site.by/index.php?route=product/category&path=34_44&manufacturer_id=")
ajax хорошо индексирует

А вот как поведет по .on('click', ...  не известно. Может "кликнуть" и проиндексировать содержимое

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

17 минут назад, markimax сказал:

Вообще Google научился давно исполнять JS скрипты
Ссылки так точно "выкусит" и проиндексирует (причем возможно в нелицеприятном виде 'http://site.by/index.php?route=product/category&path=34_44&manufacturer_id=")
ajax хорошо индексирует

А вот как поведет по .on('click', ...  не известно. Может "кликнуть" и проиндексировать содержимое


Делаю фильтр и обеспокоился, не удаётся сделать там нормальную ссылку, но когда нажимаешь на производителя, то ссылка нормальная на деле:
Код кнопки: <input id="checktyre" type="checkbox" name="manufactursfilter[]" value="<?php echo $manufacturer['manufacturer_id']; ?>" checked="checked" />
Если не применять &manufacturer_id а другое название, тогда ссылка тоже нормальная но не так как бы хотелось.

 

Скрытый текст

Первый вариант

в контроллере:
$filtermanufacturer = str_replace('amp;', '', $this->url->link('product/category', 'path=' . $get_path . '&filtermanufacturer=' . $url));

В шаблоне:

location='https://site.by/ctegory/?filtermanufacturer='+manufactursfilter.join(',',$('input[type=checkbox]:checked').length);

В браузере:

https://site.by/ctegory/?filtermanufacturer=22,11,22

 

Второй вариант

в контроллере:
$filtermanufacturer = str_replace('amp;', '', $this->url->link('product/category', 'path=' . $get_path . '&manufacturer_id=' . $url));

В шаблоне:

location='https://site.by/index.php?route=product/category&path=34_44&manufacturer_id='+manufactursfilter.join(',',$('input[type=checkbox]:checked').length);

В браузере:

https://site.by/category/manufacturer.html

 

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

17 часов назад, markimax сказал:

Ссылка вызова фильтрация должна совпадать с ссылкой категории + параметры


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

Скрытый текст

Третий вариант

в контроллере:
$data['action'] = str_replace('amp;', '', $this->url->link('product/category', 'path=' . $this->request->get['path'] . $url));

В шаблоне до обработки браузером:

location = '<?php echo $action; ?>&manufacturer_id=' + manufactursfilter.join('<?php if ($type_filter == 1) {echo ',';} else {echo '_';} ?>',$('input[type=checkbox]:checked').length);

В шаблоне после обработки браузером:

location='https://site.by/category/&manufacturer_id='+manufactursfilter.join('_',$('input[type=checkbox]:checked').length);

В браузере url:

https://site.by/manufacturer/category.html

 

У меня созрел 4й вариант, формировать всю ссылку в контроллере (я так сделал формирование мета-title) т.к. фильтр обновляет страницу - можно осуществить его и тогда должна быть нормальная ссылка:

Скрытый текст

Четвёртый вариант

в контроллере:
$data['action'] = str_replace('amp;', '', $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&manufacturer_id=' . $manufacturer_id . $url));

В шаблоне до обработки браузером:

location = '<?php echo $action; ?>';

В шаблоне после обработки браузером:

location='https://site.by/category/manufacturer.html;

В браузере url:

https://site.by/category/manufacturer.html

То есть полноценно будет формироваться ссылка через 
$this->url->link()

 


Не вариант, буду думать, скорее нужно вмешиваться в seo_pro и seo_url.

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

Вопрос решил так по третьему более рабочему варианту с ковырянием seo_pro (вместо manufacturer_id применил свой):

Скрытый текст

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

 

Третий вариант pro

в контроллере:

$data['action'] = str_replace('&amp;', '&', $this->url->link('product/category', 'path=' . $get_path . $url));

В шаблоне до обработки браузером:

location = '<?php echo $action; ?>&filter_manufacturers=' + manufactursfilter.join('_',$('input[type=checkbox]:checked').length);

В шаблоне после обработки браузером:

location='https://site.by/category/&filter_manufacturers='+manufactursfilter.join('_',$('input[type=checkbox]:checked').length);

В браузере url:

https://site.by/category/manufacturer.html

в seo_pro.php


	<file path="catalog/controller/{common,startup}/seo_pro.php">
		<operation>
            <search trim="false" index="0">
			<![CDATA[} elseif (isset($this->request->get['path'])) {]]>
            </search>
            <add position="replace">
			<![CDATA[} elseif (isset($this->request->get['path']) && isset($this->request->get['filter_manufacturers'])) {
				$this->request->get['route'] = 'product/category' . (isset($this->request->get['path']) && isset($this->request->get['filter_manufacturers']) ? '&path=' . $this->request->get['path'] : '');
			} elseif (isset($this->request->get['path'])) {]]>
            </add>
        </operation>
		<operation>
            <search trim="false" index="0">
			<![CDATA[case 'product/category':]]>
            </search>
            <add position="replace">
			<![CDATA[case 'product/category' . (isset($this->request->get['path']) && isset($this->request->get['filter_manufacturers']) ? '&path=' . $this->request->get['path'] : ''):
				if (isset($data['path'])) {
					$category = explode('_', $data['path']);
					$category = end($category);
					$data['path'] = $this->getPathByCategory($category);
					if (!$data['path']) return $link;
				}
				break;
			case 'product/category':]]>
            </add>
        </operation>
		<operation>
            <search trim="false" index="0">
			<![CDATA[case 'path':]]>
            </search>
            <add position="replace">
			<![CDATA[case 'filter_manufacturers':
					$filter_manufacturers = explode('_', $value);
					foreach ($filter_manufacturers as $manufacturer) {
						$queries[] = 'manufacturer_id=' . $manufacturer;
					}
					unset($data[$key]);
					$postfix = 1;
					break;
				case 'path':]]>
            </add>
        </operation>
	</file>

 

 

Но почему при &manufacturer_id оно меняется местами с &path продолжу думать (искать).

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

  • 7 месяцев спустя...

Вопрос с manufacturer_id решил так:

Скрытый текст

В seo_pro.php

Над этим:

        if(empty($queries)) {
            $queries[] = $route;
        }

Добавить это:

        if (isset($this->request->get['path']) && isset($this->request->get['manufacturer_id'])) {
            sort($queries);
        }


То есть задал сортировку параметрам при работе фильтра производителей в категориях.

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

Присоединяйтесь к обсуждению

Вы можете опубликовать сейчас и зарегистрироваться позже. Если у вас есть учётная запись, войдите, чтобы публиковать под своей учётной записью.

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Показать вместо этого как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Нельзя вставлять изображения напрямую. Загрузите или вставьте изображения по URL.

 Поделиться

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу