Я надеюсь, что кто-то может помочь мне с этой проблемой, которую я пытался решить за последние несколько дней. Я хочу полностью скрыть многоуровневую навигацию Magento от поисковых систем, но сделать ее доступной для пользователей. По причинам SEO я не хочу соглашаться на NoFollowing всех ссылок или использовать noindex, следуя метатегам или даже полностью блокируя его с помощью Robots.txt. Самый эффективный способ обработки этого будет показывать только многоуровневую навигацию для пользователей с включенными Cookies, поскольку Google не использует файлы cookie. Такой же эффект, вероятно, может быть достигнут и с JavaScript, но я выбрал метод Cookie.Скрытие многоуровневой навигации Magento от поисковых систем
До сих пор мне удалось реализовать грубую часть JS, чтобы проверить, включены ли файлы cookie после загрузки страницы (адаптировано из другого потока на этом форуме). Если файлы cookie включены, он ничего не делает и многоуровневые навигационные дисплеи, но если файлы cookie не включены, я хочу удалить блок «catalog.leftnav». Я не могу для жизни понять, как это сделать из моего сценария JS. Все, что мне удалось достичь, - это удалить элемент div или установить style.display никому и т. Д., И, хотя все эти методы удаляют ссылки из внешнего интерфейса, Google все еще может их видеть. Вот пример кода, который я до сих пор в шаблон/каталог/слой/filter.phtml
<div id="shop-by-filters">
<ol>
<?php foreach ($this->getItems() as $_item): ?>
<li>
<?php if ($_item->getCount() > 0): ?>
<a href="<?php echo $this->urlEscape($_item->getUrl()) ?>" rel="nofollow"><?php echo $_item->getLabel() ?></a>
<?php else: echo $_item->getLabel() ?>
<?php endif; ?>
<?php if ($this->shouldDisplayProductCount()): ?>
(<?php echo $_item->getCount() ?>)
<?php endif; ?>
</li>
<?php endforeach ?>
</ol>
</div>
<script type="text/javascript">
if (navigator.cookieEnabled) {
return true;
} else if (navigator.cookieEnabled === undefined) {
document.cookie = "testcookie";
if (cookie_present("testcookie"))
return true;
} else {
var elem = document.getElementById('shop-by-filters');
elem.parentNode.removeChild(elem);
}
</script>
Может кто-нибудь помочь мне с этим, или есть лучший способ идти об этом? Пожалуйста, имейте в виду, что я все еще пытаюсь задуматься над Magento, поэтому мне могут потребоваться некоторые инструкции, если реализация сложна.
спасибо.
Брендон
Спасибо за предложение @pspahn. К сожалению, я не думаю, что работал так, как я надеялся. Прошу прощения, если это глупый вопрос, но разве Google создает клиент/сеанс при обходе страницы? Я завернул весь код в файле filter.phtml с вашей функцией, но если я вытащил страницу в GWT с помощью «Fetch as Google» и просмотрел проанализированный код, все ссылки все еще есть. Кроме того, имеет ли клиентская сессия какое-либо отношение к файлам cookie? Возможно, я внедрил ваше предложение неправильно. Вот моя страница, если вы хотите посмотреть сами: [link] (http: //www.flowersforafrica.com/flowers /) – inMotionGraphics