закрытие ссылок от индексации с помощью jqeury в смs prestashop

Тема в разделе "SEO Скрипты", создана пользователем leaderdm, 1 ноя 2014.

  1. leaderdm

    leaderdm

    Регистр.:
    22 мар 2014
    Сообщения:
    181
    Симпатии:
    18
    Добрый день, дамы и господа, прошу помощи и мнения. Необходимо закрыть от индексации ссылки. Впервую очередь мне надо закрыть их дублирование на одной странице. Интересует действенный способ закрытие в Престашоп с помощью библиотеки jquery.
    Насколько я понял, в корне уже находится эти библиотеки. Достаточно вызвать скрипт и применить.
    Я напишу о одном способе, который по идеи должен работать, но у меня к сожалению это не так.
    Допустим мне надо закрыть индексацию ссылок слайдов на главной странице. Я захожу в модуль слайдов в своей теме престашопа. Далее в приведенном коде ( пример) я выделил строчки которые добавил и редактировал., а именно - подключил скрипт, использвал тег "спан" для ссылки, и вызвал.
    Код:
    {if $page_name =='index'}
    <!-- Module HomeSlider -->
        {if isset($homeslider_slides)}
        <script type="text/javascript" src="/js/jquery/jquery-1.11.0.min.js"></script>
            <div id="homepage-slider">
                {if isset($homeslider_slides.0) && isset($homeslider_slides.0.sizes.1)}{capture name='height'}{$homeslider_slides.0.sizes.1}{/capture}{/if}
                <ul id="homeslider"{if isset($smarty.capture.height) && $smarty.capture.height} style="max-height:{$smarty.capture.height}px;"{/if}>
                    {foreach from=$homeslider_slides item=slide}
                        {if $slide.active}
                            <li class="homeslider-container">
                                <span class="hidden link" data-link="{$slide.url|escape:'html':'UTF-8'}" title="{$slide.legend|escape:'html':'UTF-8'}">
                                    <img src="{$link->getMediaLink("`$smarty.const._MODULE_DIR_`homeslider/images/`$slide.image|escape:'htmlall':'UTF-8'`")}"{if isset($slide.size) && $slide.size} {$slide.size}{else} width="100%" height="100%"{/if} alt="{$slide.legend|escape:'htmlall':'UTF-8'}" />
                                </span>
                                {if isset($slide.description) && trim($slide.description) != ''}
                                    <div class="homeslider-description">{$slide.description}</div>
                                {/if}
                            </li>
                        {/if}
                    {/foreach}
                </ul>
            </div>
            <script>$('.hidden-link').click(function(){window.open($(this).data('link'));return false;});</script>
        {/if}
    <!-- /Module HomeSlider -->
    По результатам, сайт вообще не запускается. Редактировал все в одном файле. Ничего больше не трогал.
    Какие ошибки, и правильно ли я делаю...возможно есть другой способ...Спасибо.
     
  2. Ssendem

    Ssendem

    Регистр.:
    28 май 2010
    Сообщения:
    415
    Симпатии:
    466
    этот модуль не поможет?
     
  3. leaderdm

    leaderdm

    Регистр.:
    22 мар 2014
    Сообщения:
    181
    Симпатии:
    18
    спасибо, но дорого уж. Мне надо закрыть несколько ссылок для одного сайта. Там все и ручками быстро решается, просто что-то я делаю неправльно, но не знаю почему...Если люди закрывают для опенкарта, джумлы и делают это быстро и просто, то и для престы должно аналогично...хотелось бы узнать что я делаю не так....возможно есть пример
     
  4. Ssendem

    Ssendem

    Регистр.:
    28 май 2010
    Сообщения:
    415
    Симпатии:
    466
    может здесь?
     
  5. leaderdm

    leaderdm

    Регистр.:
    22 мар 2014
    Сообщения:
    181
    Симпатии:
    18
    это как вариант, только предложенные пути решения не решают вопрос с уменьшением веса страницы , с которой идет ссылка. Поэтому и пал выбор неа библиотеку jqeury...
     
  6. Q_BASIC

    Q_BASIC

    Регистр.:
    30 ноя 2013
    Сообщения:
    352
    Симпатии:
    223
    На jQuery ничего не выйдет. Так так закрывать от индексирования надо для ботов (Yandex Bot, Google Bot и тд), а боты javascript не выполняют. Для них страница это просто текст. Это только исходный PHP код менять можно
     
  7. leaderdm

    leaderdm

    Регистр.:
    22 мар 2014
    Сообщения:
    181
    Симпатии:
    18
    а как тогда решать этот вопрос, если к примеру ссылка формируется во внешнем модуле? Может есть иной способ. Просто у меня на сайте идет дубляж ссылок, в том числе внешних ( к примеру на соц. сети дублирование). Я таким методом хотел закрыть индексирование. Может тогда можно сразу блок запретить. Что первое в голову приходит - запретить через робот.тхт полностью папку с необходимым модулем. Еще слышал что как то перенаправлят с использование .htasses. Что скажите, спасибо..?
     
  8. Q_BASIC

    Q_BASIC

    Регистр.:
    30 ноя 2013
    Сообщения:
    352
    Симпатии:
    223
    Можно при генерации <head></head> условие ставить. Я не работал с этим движком, но как-то так можно сделать:
    PHP:
    $no_index = array(
        
    '/users/',
        
    '/no_index_derectory/'
    );
    if(
    in_array($_SERVER['REQUEST_URI'], $no_index)){
        echo 
    '<meta name="robots" content="noindex,nofollow" />';
    }
     
  9. avtodobro

    avtodobro Создатель

    Регистр.:
    19 мар 2013
    Сообщения:
    28
    Симпатии:
    6
    Лично я ручками в шаблоне все позакрывал отдельно, чтобы не гемороится.
     
  10. leaderdm

    leaderdm

    Регистр.:
    22 мар 2014
    Сообщения:
    181
    Симпатии:
    18
    скажите, пожалуйста, как , на небольшом примере...где именно править и как. Я вот приводил выше файл отображения слайдов. и там хотел закрыть ссылки. Изначальный вид кода таков:
    Код:
    {if $page_name =='index'}
    <!-- Module HomeSlider -->
        {if isset($homeslider_slides)}
            <div id="homepage-slider">
                {if isset($homeslider_slides.0) && isset($homeslider_slides.0.sizes.1)}{capture name='height'}{$homeslider_slides.0.sizes.1}{/capture}{/if}
                <ul id="homeslider"{if isset($smarty.capture.height) && $smarty.capture.height} style="max-height:{$smarty.capture.height}px;"{/if}>
                    {foreach from=$homeslider_slides item=slide}
                        {if $slide.active}
                            <li class="homeslider-container">
                                <a href="{$slide.url|escape:'html':'UTF-8'}" title="{$slide.legend|escape:'html':'UTF-8'}">
                                    <img src="{$link->getMediaLink("`$smarty.const._MODULE_DIR_`homeslider/images/`$slide.image|escape:'htmlall':'UTF-8'`")}"{if isset($slide.size) && $slide.size} {$slide.size}{else} width="100%" height="100%"{/if} alt="{$slide.legend|escape:'htmlall':'UTF-8'}" />
                                </a>
                                {if isset($slide.description) && trim($slide.description) != ''}
                                    <div class="homeslider-description">{$slide.description}</div>
                                {/if}
                            </li>
                        {/if}
                    {/foreach}
                </ul>
            </div>
        {/if}
    <!-- /Module HomeSlider -->