SEO: поддомены + управление метатегами и текстами

SEO: поддомены + управление метатегами и текстами

Скриншоты

Технические данные

Дата публикации:
15.10.2015
Дата обновления:
14.02.2017
Версия:
1.0.7
Адаптивность:
Нет
Поддержка композита:
Нет
Число установок:
100 - 499 раз

Совместимые редакции

Описание

Модуль позволяет легко создавать поддомены на сайте и устанавливать для каждого поддомена свои уникальные параметры: телефон, контактную информацию, метатег для webmaster.yandex и многое другое. Вы также можете самостоятельно создавать свои параметры. Управлением всеми поддоменами осуществляется из одного инфоблока.

Дополнительно в модуле реализован удобный помощник SEO-оптимизатора. Инфоблок «SEO», создаваемый модулем, дает возможность управлять метатегами и SEO-текстами на любых страницах сайта.

Плюсы использования:
  • Возможность присвоения отдельного региона каждому поддомену,
  • Простота аналитики (настройка счётчика для каждого поддомена),
  • Подтверждение прав в сервисах для вебмастера Яндекс и Google,
  • Привлечение дополнительного объема трафика из поисковой выдачи, за счет мультивыдачи,
  • Продвижение в нескольких регионах,
  • Назначение/смена meta тегов , <description>, <keywords>, <robots> для любой страницы вашего сайта,<br /><li>Установка и смена SEO текстов для любых страниц сайта и поддоменов,<br /><li>Возможность включения, выключения контента для каждого поддомена в отдельности (инструкция в установке).<br /></ul>В итоге модуль позволит Вам увеличить обхват аудитории за счёт созданных региональных сайтов и увеличить количество клиентов. А поскольку каждый домен будет таргетирован на отдельный город, то позиции сайта при поиске в каждом городе также повысятся.<br /><br />Поддомены создаются динамическими (псевдодомены), они не занимают дополнительного места у вас на сервере (только увеличивается размер кеша). </div> <div class="tab-pane fade" id="tab_install"> После активации купона установка происходит в автоматическом режиме. <br /><br /><B>Вам необходимо самостоятельно создать</B> псевдонимы на нужные вам поддомены на хостинге.<br /><br /><B>Модуль создаст</B> на Вашем сайте новый тип инфоблока: «Webfly - Поддомены и SEO», с двумя инфоблоками в нём: «Города» — для управления информацией на региональных поддоменах и «SEO» — для установки необходимых метаданных на любых страницах сайта.<br /><br />Для полноценной работы всех функций модуля необходимо, чтобы в настройках сайта был указан параметр <B>"URL сервера (без </B><B>http://):</B><B>"</B> (Настройки -> Сайты -> Список сайтов -> Ваш сайт).<br /><br />С версии 1.0.5 внедрена поддержка доменов третьего и более уровней основного сайта. Например - ваш основной сайт: site.site1.ru - вы можете также работать со всеми функциями модуля, создавая региональные поддомены вида msk.site.site1.ru, spb.site.site1.ru и т.д. При этом в настройке сайта <B>"URL сервера (без </B><B>http://):</B><B>"</B> должен быть указан основной домен - site.site1.ru.<br /><br /><B>ВНИМАНИЕ! Если вам нужно редактировать метатеги из публичной части сайта, вам необходимо разместить вызов компонента "webfly:meta.edit" перед закрывающим тегом </body>.<br /><br />Код вызова компонента "webfly:meta.edit":</B><br /><div class='code'><table class='code'><tr><td><pre><?$APPLICATION->IncludeComponent(     "webfly:meta.edit",     ".default",     array(         "CACHE_TYPE" => "A",         "CACHE_TIME" => "3600",         "WF_JQUERY" => "N"     ),     false );?> </pre></td></tr></table></div><br /><B>Как работать с инфоблоком «Города»</B><br /><br />Инфоблок «Города» предназначен для вывода уникальных данных, таких как телефон, адрес, название города и др., для каждого поддомена сайта.<br /><br />Инфоблок «Города» нужно заполнить региональными поддоменами сайта с их уникальными свойствами: название города, поддомен (например, kursk, moscow, voronezh), телефон, e-mail, контактная информация и т.д. <I>Для основного сайта поле «Поддомен» нужно оставить пустым.</I><br /><br />Для того чтобы вывести на сайте значения свойств из инфоблока «Города», нужно разместить символьный код соответствующего свойства в решетках, например, #WF_CONTACTS#, #WF_MAP#, #WF_EMAIL#. Вы также можете создавать свои свойства и выводить их на сайте.<br /><br /><B>Как работать с инфоблоком «SEO»<br /></B><br />Инфоблок «SEO» предназначен для быстрой установки метатегов и размещения SEO-текстов на любой странице сайта.<br /><br /><B>ВНИМАНИЕ! Для изменения метатегов необходимо разместить вызов компонента "webfly:meta.edit" перед закрывающим тегом </body>.<br /><br />Код вызова компонента "webfly:meta.edit":</B><br /><div class='code'><table class='code'><tr><td><pre><?$APPLICATION->IncludeComponent(     "webfly:meta.edit",     ".default",     array(         "CACHE_TYPE" => "A",         "CACHE_TIME" => "3600",         "WF_JQUERY" => "N"     ),     false );?> </pre></td></tr></table></div><br />Изменять метатеги можно как из публичной части сайта, воспользовавшись появившейся панелькой "Редактировать метатеги страницы", так и из админки.<br /><br /><B>Редактирование из публичной части<br /><br /></B>После размещения вызова компонента "webfly:meta.edit" в публичной части сайта внизу всех страниц появится красная панелька (видна только пользователям с административными правами), при клике на которую появится форма редактирования метатегов страницы.<br /><br /><B>Редактирование из админки<br /><br /></B>Поле «Страница» инфоблока заполняется адресом конкретной страницы (без http://), для которой необходимо проставить свои метатеги, а свойства «TITLE», «ROBOTS», «DESCRIPTION» и «KEYWORDS» заполняются необходимой информацией.<br /><br />В множественное свойство «WF_SEO_TEXT» можно добавить SEO-тексты для данной страницы. Для того чтобы вывести эти тексты на сайте, необходимо указать символьный код свойства в решетках и порядковый номер SEO-текста, например, #WF_SEO_TEXT_1#, #WF_SEO_TEXT_2# и т.д.<br /><B><br />Дополнительные возможности</B><I><br /><br />Вывести названия всех городов со ссылками на соответствующие поддомены:</I><br />#WF_CITIES#<I><br /><br />Вывод городов с разделением на центры, области и округа + избранные города:<div class='code'><table class='code'><tr><td><pre><?$APPLICATION->IncludeComponent(   "webfly:cities.popup",   ".default",   array(     "COMPONENT_TEMPLATE" => ".default",     "CACHE_TYPE" => "A",     "CACHE_TIME" => "3600",   ),   false );?> </pre></td></tr></table></div><br />Вывести любой город:</I><br />Основной город: #WF_CITY_default#<br />Остальные: #WF_CITY_поддомен#<I><br /><br />Вывести название текущего города:</I><br />#WF_CITY_NAME#<br /><B><br />Фильтрация выводимой на сайте информации</B><br /><br />При создании нескольких региональных поддоменов может возникнуть необходимость не выводить некоторые новости или товары для определенных городов. Вы можете Управлять показом таких элементов с помощью фильтрации.<br /><br /><I><B>Для этого Вам необходимо:</B></I><br /><br />1. Создать в инфоблоке, элементы которого вы не хотите выводить для определенных поддоменов, создать новое свойство со следующими параметрами:<br /><br />Название: Не выводить для городов<br />Тип: Привязка к элементам в виде списка<br />Код: NOT_SHOW_IN_CITIES<br />Множественное<br /><br />И настроить его на инфоблок «Города»<br /><br />2. Далее, в элементах инфоблока, которые не нужно выводить для определенных городов, во вновь созданном свойстве «Не выводить для городов» выбрать эти города.<br /><br />3. На странице с вызовом компонента, настроенном на данный инфоблок, перед вызовом компонента, добавить код фильтра:<br /><br /><div class='code'><table class='code'><tr><td><pre><? if (CModule::IncludeModule("webfly.seocities") and CModule::IncludeModule("iblock")) {     $cityID = CSeoCities::getCityId();     global $cityFilter;     $cityFilter = array("!ID" => CIBlockElement::SubQuery("ID", array("IBLOCK_ID" => "ID_ИНФОБЛОКА", "PROPERTY_NOT_SHOW_IN_CITIES" => $cityID))); } ?></pre></td></tr></table></div><br />Где "ID ИНФОБЛОКА" — ID Вашего инфоблока<br /><br />Не забудьте указать в настройках компонента значение фильтра  — cityFilter.<br /><br /><B><br />Создание разных файлов robots.txt для региональных поддоменов<br /></B><br />1. Создайте в корне сайта папку robots.<br />2. Создайте в этой папке файлы robots.txt для каждого регионального поддомена (прим: robots.txt, robots_msk.txt, robots_spb.txt и т.д.)<br />3. В файле .htaccess укажите пути для созданных файлов robots.txt:<div class='code'><table class='code'><tr><td><pre>RewriteCond  %{HTTP_HOST} msk.site.ru$ Rewriterule ^robots.txt$ /robots/robots_msk.txt [L] RewriteCond  %{HTTP_HOST} spb.site.ru$ Rewriterule ^robots.txt$ /robots/robots_spb.txt [L] RewriteCond  %{HTTP_HOST} site.ru$ Rewriterule ^robots.txt$ /robots/robots.txt [L]</pre></td></tr></table></div>в некоторых случаях работает следущая комбинация<div class='code'><table class='code'><tr><td><pre>RewriteCond  %{HTTP_HOST} msk\.site.ru Rewriterule ^robots.txt$ /robots/robots_msk.txt [L] RewriteCond  %{HTTP_HOST} spb\.site.ru Rewriterule ^robots.txt$ /robots/robots_spb.txt [L] RewriteCond  %{HTTP_HOST} site.ru Rewriterule ^robots.txt$ /robots/robots.txt [L] </pre></td></tr></table></div> </div> <div class="tab-pane fade" id="tab_support"> <B>Просим ознакомиться с правилами поддержки!</B><br />____________________________________________________________<br /><br /><B>Режим работы</B>: 12:00 — 18:00 по московскому времени.<br />Время реакции на обращение – до 3 рабочих дней (стараемся отвечать быстро, в порядке живой очереди). <br />Выходные дни: суббота, воскресение, праздники. <br /><br /><B>Если у вас возникла проблема или ошибка</B>, пришлите, пожалуйста, сразу же доступы на проект которые попросит вас система при создании обращения.<br />____________________________________________________________ <br /><br />Прежде чем создать обращение, просим <a href="http://marketplace.1c-bitrix.ru/solutions/webfly.seocities/#tab-install-link" target="_blank">ознакомиться с инструкцией</a> по данному решению, мы старались и писали специально для вас <img src="/bitrix/images/main/smiles/3/bx_smile_smile.png" border="0" data-code=":)" data-definition="UHD" alt=":)" style="width:20px;height:20px;" title="С улыбкой" class="bx-smile" /><br /><br /><B>Платность:</B><br /><ul><li>Консультации - <B>бесплатно,</B><br /><li>Вопросы - <B>бесплатно,</B><br /><li>Исправление ошибок - <B>бесплатно,</B><br /><li>Работы на сайте  - <B>по тарифу «Разовый»</B> <a href="http://webfly24.ru/tariffs/" target="_blank">http://webfly24.ru/tariffs/</a><br /></ul>Мы стараемся не брать доработки на сайтах, так как наши ресурсы направлены исключительно на наши модули (в данном случае), но когда происходят исключения - мы просим оплату по норма-часам которые будут затрачены на решение вашего вопроса (тариф "Разовый" <a href="http://webfly24.ru/tariffs/" target="_blank">http://webfly24.ru/tariffs/</a>)<br /><br />Эта цена справедлива и для установки модуля, <B>если мы правили код сайта. </B>То есть консультации и подсказки -<B> бесплатны.<br /></B><br />Отправьте заявку в техподдержку вы можете через <a href="http://www.webfly24.ru/support/?show_wizard=Y" target="_blank">систему тикетов</a>.<br /><br />Хорошего вам дня!<br /> </div> </div> </div> </div> <div id="install" class="marketplace-install-popup"> <div> <p><b>Установите этот модуль прямо сейчас!</b></p> <p>Для этого укажите адрес сайта:</p> <div><input type="text" value="http://" /></div> <div><small>пример: http://www.site.ru</small></div> <div class="marketplace-install-popup-buttons"> <input type="button" class="btn btn-primary" data-role="install" data-module-id="webfly.seocities" value="Установить!" /> <input type="button" class="btn btn-default" data-role="close" value="Отменить" /> </div> </div> </div> <script> $(document).ready(function(){ $('.marketplace-product__screenshots-block').show(); $('.marketplace-product__screenshots').owlCarousel({ items: 4, lazyLoad: true, pagination: false, navigation: true }); $('.marketplace-product__screenshots a').fancybox({ helpers: { overlay: { locked: false } } }); // $('.marketplace-product__buy-buttons a[data-role=install]').fancybox(); }); $(document).delegate('.marketplace-install-popup input[type=text]','keydown',function(e){ if(e.keyCode==13) { $('.marketplace-install-popup [data-role=install]').trigger('click'); } }); $(document).delegate('.marketplace-install-popup [data-role=install]','click',function(e){ var siteUrl = $('.marketplace-install-popup input[type=text]').val(); if(siteUrl!=undefined) { siteUrl = siteUrl.replace(/\/$/,''); // remove last slash if(siteUrl.indexOf('//')==0) { siteUrl = 'http:' + siteUrl; } if(siteUrl.indexOf('http://')==-1 && siteUrl.indexOf('https://')==-1) { siteUrl = 'http://' + siteUrl; } siteUrl += "/bitrix/admin/update_system_partner.php?addmodule="+$(this).data('module-id'); window.open(siteUrl); $.fancybox.close(true); setTimeout(function(){ $('.marketplace-install-popup input[type=text]').val('http://'); },500); } }); $(document).delegate('.marketplace-install-popup [data-role=close]','click',function(e){ $.fancybox.close(true); }); </script> <div class="purchase-panel"> <div class="container"> <div class="buttons_wrapper"> <div class="buttons"> <span><input type="button" class="btn btn-primary" value="Купить" data-role="panel-buy" /></span> </div> </div> <div class="product"> <div class="image"> <img src="/upload/iblock/81a/seo_poddomeny.jpg" alt="SEO: поддомены + управление метатегами и текстами" /> </div> <div class="name"> SEO: поддомены + управление метатегами и текстами </div> <div class="price"> 1 520 руб </div> </div> <div class="links"> <span><a href="#" class="link-screenshots">Скриншоты</a></span> <span><a href="#" class="link-description">Описание</a></span> </div> </div> </div> <script> $('[data-role="panel-buy"]').bind('click', function(e){ e.preventDefault(); location.href = $('[data-role="buy"]').first().attr('href'); }); $('[data-role="panel-test"]').bind('click', function(e){ e.preventDefault(); $('[data-role="install"]').first().trigger('click'); }); $('.link-screenshots').bind('click', function(e){ e.preventDefault(); $('html, body').animate({ scrollTop: $('.marketplace-product__screenshots-block').offset().top - 70 }, 500); }); $('.link-description').bind('click', function(e){ e.preventDefault(); $('html, body').animate({ scrollTop: $('.marketplace-product__tabs').offset().top - 70 }, 500); }); var panelButton = $('[data-role="buy"], [data-role="install"]').first(); var purchasePanel = $('.purchase-panel'); function haveToShowPanel() { var docViewTop = $(window).scrollTop(); var elemBottom = $(panelButton).offset().top + $(panelButton).height(); return elemBottom < docViewTop + $('#defaultmenu').height() && docViewTop < $('footer').offset().top; } function togglePurchasePanel(){ if(haveToShowPanel()){ purchasePanel.removeClass('hidden-panel'); } else { purchasePanel.addClass('hidden-panel'); } } $(document).ready(function(){ togglePurchasePanel(); }); $(window).load(function(){ togglePurchasePanel(); }); $(window).resize(function(){ togglePurchasePanel(); }); $(window).scroll(function(){ togglePurchasePanel(); }); togglePurchasePanel(); </script> <div class='row' style="margin-top:15px;"> <section class="marketplace-section"> <div class="marketplace-section__header"> <h2> Похожие модули: </h2> </div> <div class="marketplace-section__items row"> <div class="marketplace-section__item col-xs-12 col-sm-6 col-md-6 col-lg-4"> <a href="/market/module/intec.regionality/" id="bx_3966226736_191758"> <div class="marketplace-section__item-image-container"> <div class="marketplace-section__item-image-inner"> <div class="marketplace-section__item-image"> <img src="/upload/iblock/daf/mr.png" alt="INTEC: Мультирегиональность - региональная сеть вашего сайта с продвижением в поисковиках" /> </div> </div> </div> <div class="marketplace-section__item-name"> INTEC: Мультирегиональность - региональная сеть вашего сайта с продвижением в поисковиках </div> <div class="marketplace-section__item-price"> 5 148 руб </div> </a> </div> <div class="marketplace-section__item col-xs-12 col-sm-6 col-md-6 col-lg-4"> <a href="/market/module/aspro.next/" id="bx_3966226736_151957"> <div class="marketplace-section__item-image-container"> <div class="marketplace-section__item-image-inner"> <div class="marketplace-section__item-image"> <img src="/upload/iblock/b1e/135x135.jpg" alt="Аспро: Некст - интернет-магазин" /> </div> </div> </div> <div class="marketplace-section__item-name"> Аспро: Некст - интернет-магазин </div> <div class="marketplace-section__item-price"> 22 724 руб </div> </a> </div> </div> </section> </div> </div> </div> <br/> </div> </div> </section> <footer class="section-footer dm-shadow"> <div class="container"> <div class="col-lg-4 col-md-6 col-sm-12"> <div class="widget"> <div class="widget-title"><h3>Веб студия "АКРИТ"</h3> <hr> </div> <div class="footer-contact"> <h4><span class="ya-phone">+7 495 008 8452</span></h4> <p><a href="mailto:design@acrit.ru">design@acrit.ru</a></p> </div> <a href="/about/contact_information.php" class="btn btn-primary"><i class="fa fa-info"></i>  Узнать больше</a> </div><!-- end widget --> <div class="widget-title"><h3>Рассылка</h3> <hr> </div> <div class="bx-subscribe" id="sender-subscribe"> <!--'start_frame_cache_sender-subscribe'--> <script> BX.ready(function() { BX.bind(BX("bx_subscribe_btn_sljzMT"), 'click', function() { setTimeout(mailSender, 250); return false; }); }); function mailSender() { setTimeout(function() { var btn = BX("bx_subscribe_btn_sljzMT"); if(btn) { var btn_span = btn.querySelector("span"); var btn_subscribe_width = btn_span.style.width; BX.addClass(btn, "send"); btn_span.outterHTML = "<span><i class='fa fa-check'></i> ГОТОВО</span>"; if(btn_subscribe_width) btn.querySelector("span").style["min-width"] = btn_subscribe_width+"px"; } }, 400); } </script> <form method="post" action="/market/module/webfly.seocities/" onsubmit="BX('bx_subscribe_btn_sljzMT').disabled=true;"> <input type="hidden" name="sessid" id="sessid_2" value="c01047d988ade08c866c4b614a88a806" /> <input type="hidden" name="sender_subscription" value="add"> <div class="bx-input-group"> <input class="bx-form-control" type="email" name="SENDER_SUBSCRIBE_EMAIL" value="" title="Введите ваш e-mail" placeholder="Введите ваш e-mail"> </div> <div class="bx_subscribe_submit_container"> <button class="sender-btn btn-subscribe" id="bx_subscribe_btn_sljzMT"><span>Подписаться</span></button> </div> </form> <!--'end_frame_cache_sender-subscribe'--></div> </div><!-- end col 3 --> <div class="col-lg-4 col-md-6 hidden-xs"> <div class="widget clearfix"> <div class="widget-title"><h3>Услуги</h3><hr></div> <ul class="categories"> <li> <a href="/services/quick-start/">Быстрый старт</a> </li> <li> <a href="/services/the-launch-of-the-store/">Запуск магазина</a> </li> <li> <a href="/services/basic-setup-of-an-online-store/">Базовая настройка интернет-магазина</a> </li> <li> <a href="/services/change-the-appearance-of-the-finished-store/">Изменение внешнего вида готового магазина</a> </li> <li> <a href="/services/configuring-seo/">Настройка SEO</a> </li> <li> <a href="/services/payment-system/">Платежные системы</a> </li> <li> <a href="/services/delivery-methods/">Способы доставки</a> </li> <li> <a href="/services/security/">Безопасность</a> </li> <li> <a href="/services/integration-with-1c-standard-configuration/">Интеграция с 1С (типовые конфигурации)</a> </li> <li> <a href="/services/implementation-development-technical-support/">Внедрение, разработка, техподдержка</a> </li> <li> <a href="/services/settings-trading-platforms/">Настройки торговых площадок</a> </li> <li> <a href="/services/examination-performance/">Экспертиза производительности</a> </li> <li> <a href="/services/package-for-transition-to-the-new-version-of-the-module/">Пакет услуг по переходу на новые версии модуля</a> </li> </ul> </div><!-- end widget --> <br><br> </div> <div class="col-lg-4 col-md-6 hidden-xs"> <div class="widget"> <div class="widget-title"><h3>Популярные теги</h3> <hr> </div> <!--'start_frame_cache_rQh1eM'--> <!--noindex--> <div class="tagcloud"> </div> <!--/noindex--><!--'end_frame_cache_rQh1eM'--> <br> <a href="/search/map.php">Карта сайта</a> </div><!-- end widget --> </div><!-- end col 3 --> </div><!-- end container --> </footer><!-- end section-footer --> <section class="section-copyright dm-shadow text-center"> <div class="container"> <div class="back-to-top clearfix"> <span><span class="dmtop"><i class="fa fa-arrow-up"></i></span></span> </div> </div><!-- end container --> <h6>Веб-студия «АКРИТ»</h6> </section><!-- end section-copyright --> </div><!-- wrapper --> <script src="/bitrix/templates/acrit_2016/js/bootstrap.js"></script> <script src="/bitrix/templates/acrit_2016/js/fhmm.js"></script> <script src="/bitrix/templates/acrit_2016/js/timeline.js"></script> <script src="/bitrix/templates/acrit_2016/js/jquery.fitvids.js"></script> <script src="/bitrix/templates/acrit_2016/js/jquery.unveilEffects.js"></script> <script src="/bitrix/templates/acrit_2016/js/jquery.simple-text-rotator.js"></script> <script src="/bitrix/templates/acrit_2016/js/application.js"></script> <script src="/bitrix/templates/acrit_2016/layerslider/js/greensock.js" type="text/javascript"></script> <script src="/bitrix/templates/acrit_2016/layerslider/js/layerslider.transitions.js" type="text/javascript"></script> <script src="/bitrix/templates/acrit_2016/layerslider/js/layerslider.kreaturamedia.jquery.js" type="text/javascript"></script> <script src="/bitrix/templates/acrit_2016/js/jquery.bxslider.js" type="text/javascript"></script> <script src="/bitrix/templates/acrit_2016/js/source/jquery.fancybox.js?v=2.1.5" type="text/javascript"></script> <script type="text/javascript"> $(function(){ jQuery("#layerslider").layerSlider({ pauseOnHover: false, autoPlayVideos: false, responsive: false, responsiveUnder: 1280, layersContainer: 1280, skin: 'v5', skinsPath: '/bitrix/templates/acrit_2016/layerslider/skins/' }); }); </script> <script type="text/javascript"> var _tmr = _tmr || []; _tmr.push({ type: 'itemView', productid: 'VALUE', pagetype: 'VALUE', list: 'VALUE', totalvalue: 'VALUE' }); </script> <script type="text/javascript"> (function (a, e, f, g, b, c, d) { a[b] || (a.FintezaCoreObject = b, a[b] = a[b] || function () { (a[b].q = a[b].q || []).push(arguments) }, a[b].l = 1 * new Date, c = e.createElement(f), d = e.getElementsByTagName(f)[0], c.async = !0, c.defer = !0, c.src = g, d && d.parentNode && d.parentNode.insertBefore(c, d)) })(window, document, "script", "https://content.mql5.com/core.js", "fz"); fz("register", "website", "gjgsocrdllbqupxbndzwlovrznapcnygoy");</script> <script> $(function () { $("#form_register .btn").click(function () { try { yaCounter19549489.reachGoal('ZAREGISTRIRIOVAN'); } catch (ignore) { } return true; }); }); </script> </body> </html>