Заготовка для быстрой настройки шаблонов в виде плагина
Раз уж попробовал сделать шаблон для загрузки его на сайт через систему плагинов, то решил, для себя в том числе, прописать все действия, которые нужно выполнять в шаблоне, для его быстрой настройки и создания его архива в виде плагина.
Список прописанных дополнительных полей:
name_orig|Оригинальное название||text||1|0|0|0|||0|0|||
year|Год||text||1|1|0|0|||0|0||||||||||||||
country|Страна||text||1|1|0|0|||0|0||||||||||||||
director|Режиссер||text||1|0|0|0|||0|0||||||||||||||
actors|В главных ролях||text||1|0|0|0|||0|0|||
screenwriter|Сценарий||text||1|0|0|0
producer|Продюсер||text||1|0|0|0
operator|Оператор||text||1|0|0|0
genre|Жанр||text||1|1|0|0|||0|0||||||||||||||
premier|Премьера (мир)||text||1|0|0|0
premier_rus|Премьера (РФ)||text||1|0|0|0
time|Время||text||1|0|0|0|||0|0||||||||||||||
trailer|Трейлер||text||1|0|0|0
age_limit|Возраст||text||1|0|0|0
kp_id|Кинопоиск ID||text||1|0|0|0|||0|0||||||||||||||
poster|Постер||text||1|0|0|0
player|Плеер src||text||1|0|0|0
translate|Озвучка||text||1|0|0|0
quality|Качество||text|Трейлер|1|0|0|0|||0|0||||||||||||||
season|Сезон сериала||text||1|0|0|0|||0|0||||||||||
series|Серия сериала||text||1|0|0|0|||0|0||||||||||
serialstatus|Статус сериала||select|Снимается__NEWL__Закончен|0|0|0|0|||0|0||||||||||
rate_kp|Рейтинг КП||text||1|0|0|0|||0|0|||
rate_imdb|Рейтинг IMDB||text||1|0|0|0
advertising|ДА - если плеер с рекламой||yesorno||0|0|0|0|||0|0|||||0|||||||||
closedcountry|Запрещён к показу в странах||text||1|0|0|1|||0|0|||
Подключение стилей и скриптов шаблона меняем на:
{include file="engine/modules/asset/add.php?folder={THEME}/css/&ignore=offline"}
{include file="engine/modules/asset/add.php?folder={THEME}/js/"}
После {headers} подключаем донбот:
{include file='engine/mods/donbot.php?tag=follow&pages=xfsearch,addnews,feedback,lostpassword,register,rules,stats,search,pm,favorites,newposts,lastnews,lastcomments,date,userinfo,allnews,alltags,tags,pages,catalog'}
В меню выводим данные доп полей:
{include file="engine/mods/genre.php"}
{include file="engine/mods/year.php"}
{include file="engine/mods/country.php"}
Подключаем сео описания для страниц (главная, категории, доп поля):
[available=main|cat]{include file="engine/modules/catface.php"}[/available]
[available=xfsearch]{include file="main-seo.tpl"}[/available]
Через notepad++ делаем поиск и замену по всем tpl файлам шаблона, заменяя {images-1} на [xfvalue_poster]. Вывод в шаблоне может быть не через {images-1}, нужно смотреть как именно в шаблоне прописаны картинки.
После этого оптимизируем размер вывода изображений, я делал через miniposter pro 2:
{poster src='[xfvalue_poster]' width='170' height='250'}
при этом заменяя src на data-src, чтобы была ленивая загрузка изображений.
Так же заменяем src на data-src в шаблоне полной новости для iframe.
На этом краткая инструкция закончена, остальные пункты настройки можете погуглить и составить их список для себя, чтобы в дальнейшем минимум времени отводить настройке шаблона, чтобы больше времени было на занятие контентной (текстовой) частью по сайту. Нужные плагины можете скачать из архиве в предыдущем посту.
[users_hide=byroot]
В доп полях я оставил доп поле block_country, оно нужно для блокировки контента некоторым странам, например, RU,UA. При выводе одного плеера и трейлера, его вывод в шаблоне выглядит примерно так:
[xfnotgiven_block_country]
[xfnotgiven_block_all]
<div class="fplayer video-box tabs-b">
<iframe width="853" height="480" data-src="[xfvalue_player]" frameborder="0" allowfullscreen></iframe>
</div>
[/xfnotgiven_block_all]
[/xfnotgiven_block_country]
[xfgiven_block_country]
[xfnotgiven_block_all]
[country=[xfvalue_block_country]]
<div class="fplayer video-box tabs-b">
{include file="block_country.tpl"}
</div>
[/country]
[not-country=[xfvalue_block_country]]
<div class="fplayer video-box tabs-b">
<iframe width="853" height="480" data-src="[xfvalue_player]" frameborder="0" allowfullscreen></iframe>
</div>
[/not-country]
[/xfnotgiven_block_all]
[xfgiven_block_all]
<div class="fplayer video-box tabs-b">
{include file="block_country.tpl"}
</div>
[/xfgiven_block_all]
[/xfgiven_block_country]
Здесь у меня есть доп поле block_country и доп поле block_all, которое блокирует доступ к контенту для всех.
Так же рекомендуется блокировать некоторые страны. Для себя я как то составил список:
LT,US,BR,GB,FR,DE,FI,BY,NL,MD,CA,CA,CZ,EE,IN,IE,IT,LV,PL,ZA,UA
Далее нужно создать микроразметку OpenGraph, для этого в пак плагинов я закинул metagen. Для начала нужно удалить стандартную микроразметку DLE og:article. Для этого есть так же плагин - udalenie-ogarticle.zip. Далее нам нужно в fullstory.tpl в самый верх прописать:
{include file="engine/mods/metagen.php?a=add&r=og&p=og:site_name&v={short_title}"}
{include file="engine/mods/metagen.php?a=add&r=og&p=og:type&v=video.movie"}
{include file="engine/mods/metagen.php?a=add&r=og&p=og:title&v={title} (русская озвучка NewStudio, все серии)"}
{include file="engine/mods/metagen.php?a=add&r=og&p=og:url&v={full-link}"}
{include file="engine/mods/metagen.php?a=add&r=og&p=og:image&v=[xfvalue_poster]"}
{include file="engine/mods/metagen.php?a=add&r=og&p=og:image:type&v=image/jpeg"}
{include file="engine/mods/metagen.php?a=add&r=og&p=og:description&v={descr_og}"}
{include file="engine/mods/metagen.php?a=add&r=og&p=ya:ovs:upload_date&v={date=c}"}
{include file="engine/mods/metagen.php?a=add&r=og&p=ya:ovs:adult&v=false"}
{include file="engine/mods/metagen.php?a=add&r=og&p=ya:ovs:content_id&v={news-id}"}
{include file="engine/mods/metagen.php?a=add&r=og&p=ya:ovs:status&v=published"}
{include file="engine/mods/metagen.php?a=add&r=og&p=og:restrictions:age&v=16"}
{include file="engine/mods/metagen.php?a=add&r=og&p=ya:ovs:quality&v=HD"}
{include file="engine/mods/metagen.php?a=add&r=og&p=ya:ovs:allow_embed&v=false"}
{include file="engine/mods/metagen.php?a=add&r=og&p=ya:ovs:genre&v={genre}"}
{include file="engine/mods/metagen.php?a=add&r=og&p=og:video:tag&v=NewStudio, {title}, {genre}"}
{include file="engine/mods/metagen.php?a=add&r=og&p=ya:ovs:languages&v=ru"}
{include file="engine/mods/metagen.php?a=add&r=og&p=ya:ovs:views_total&v={views}"}
{include file="engine/mods/metagen.php?a=add&r=og&p=ya:ovs:comments&v={comments-num}"}
{include file="engine/mods/metagen.php?a=add&r=og&p=ya:ovs:rating&v={ratingscore}"}
{include file="engine/mods/metagen.php?a=add&r=og&p=ya:ovs:person&v={actors}"}{include file="engine/mods/metagen.php?a=add&r=og&p=ya:ovs:person:role&v=artist"}
{include file="engine/mods/metagen.php?a=add&r=og&p=ya:ovs:poster&v=[xfvalue_poster]"}
{include file="engine/mods/metagen.php?a=add&r=og&p=og:video&v={full-link-embed}"}
{include file="engine/mods/metagen.php?a=add&r=og&p=og:video:width&v=1920"}
{include file="engine/mods/metagen.php?a=add&r=og&p=og:video:height&v=1080"}
{include file="engine/mods/metagen.php?a=add&r=og&p=og:video:duration&v={duration}"}
{include file="engine/mods/metagen.php?a=add&r=og&p=og:locale&v=ru_RU"}
{include file="engine/mods/metagen.php?a=add&r=og&p=og:video:type&v=HTML5"}
{include file="engine/mods/metagen.php?a=add&r=og&p=ya:ovs:original_name&v=[xfvalue_name_orig]"}
на посерийные страницы:
{include file="engine/mods/metagen.php?a=add&r=og&p=og:site_name&v={short_title}"}
{include file="engine/mods/metagen.php?a=add&r=og&&p=og:type&v=video.episode"}
{include file="engine/mods/metagen.php?a=add&r=og&&p=ya:ovs:season&v={season}"}
{include file="engine/mods/metagen.php?a=add&r=og&&p=ya:ovs:episode&v={nomer}"}
{include file="engine/mods/metagen.php?a=add&r=og&p=og:title&v={title} {season} сезон {nomer} серия (русская озвучка NewStudio)"}
{include file="engine/mods/metagen.php?a=add&r=og&p=og:url&v={full-link}"}
{include file="engine/mods/metagen.php?a=add&r=og&p=og:image&v=[xfvalue_poster]"}
{include file="engine/mods/metagen.php?a=add&r=og&p=og:image:type&v=image/jpeg"}
{include file="engine/mods/metagen.php?a=add&r=og&p=og:description&v=Смотреть {title} {season} сезон {nomer} серия онлайн бесплатно в профессиональном озвучивании студии NewStudio."}
{include file="engine/mods/metagen.php?a=add&r=og&p=ya:ovs:upload_date&v={date=c}"}
{include file="engine/mods/metagen.php?a=add&r=og&p=ya:ovs:adult&v=false"}
{include file="engine/mods/metagen.php?a=add&r=og&p=ya:ovs:content_id&v={news-id}"}
{include file="engine/mods/metagen.php?a=add&r=og&p=ya:ovs:status&v=published"}
{include file="engine/mods/metagen.php?a=add&r=og&p=og:restrictions:age&v=16"}
{include file="engine/mods/metagen.php?a=add&r=og&p=ya:ovs:quality&v=HD"}
{include file="engine/mods/metagen.php?a=add&r=og&p=ya:ovs:allow_embed&v=false"}
{include file="engine/mods/metagen.php?a=add&r=og&p=ya:ovs:genre&v=[xfvalue_genre limit="50"]"}
{include file="engine/mods/metagen.php?a=add&r=og&p=video:tag&v=NewStudio, {title}, {season} сезон {nomer} серия, [xfvalue_genre limit="50"]"}
{include file="engine/mods/metagen.php?a=add&r=og&p=ya:ovs:languages&v=ru"}
{include file="engine/mods/metagen.php?a=add&r=og&p=ya:ovs:views_total&v={views}"}
{include file="engine/mods/metagen.php?a=add&r=og&p=ya:ovs:comments&v={comments-num}"}
{include file="engine/mods/metagen.php?a=add&r=og&p=ya:ovs:rating&v={rating_num}"}
{include file="engine/mods/metagen.php?a=add&r=og&p=ya:ovs:person&v=[xfvalue_actors]"}{include file="engine/mods/metagen.php?a=add&r=og&p=ya:ovs:person:role&v=artist"}
{include file="engine/mods/metagen.php?a=add&r=og&p=ya:ovs:poster&v=[xfvalue_poster]"}
{include file="engine/mods/metagen.php?a=add&r=og&p=og:video&v={full-link-embed}"}
{include file="engine/mods/metagen.php?a=add&r=og&p=og:video:width&v=720"}
{include file="engine/mods/metagen.php?a=add&r=og&p=og:video:height&v=400"}
{include file="engine/mods/metagen.php?a=add&r=og&p=video:duration&v={duration}"}
{include file="engine/mods/metagen.php?a=add&r=og&p=og:locale&v=ru_RU"}
{include file="engine/mods/metagen.php?a=add&r=og&p=og:video:type&v=HTML5"}
{include file="engine/mods/metagen.php?a=add&r=og&p=ya:ovs:original_name&v=[xfvalue_name_orig]"}
в файл main.tpl после {headers} добавить:
{include file='engine/mods/metagen.php?a=get&r=og&t=<meta property="{p}" content="{v}" />'}
Для модуля простые заголовки от сандера на посерийные страницы:
<og:site_name>{short_title}</og:site_name>
<og:type>video.episode</og:type>
<ya:ovs:season>{season}</ya:ovs:season>
<ya:ovs:episode>{episode}</ya:ovs:episode>
<og:title>{title} {season} сезон {episode} серия (русская озвучка)</og:title>
<og:url>{full-link}</og:url>
<og:image:type>image/jpeg</og:image:type>
<og:description>Смотреть {title} {season} сезон {episode} серия онлайн</og:description>
<ya:ovs:upload_date>{date=c}</ya:ovs:upload_date>
<ya:ovs:adult>false</ya:ovs:adult>
<ya:ovs:content_id>{news-id}</ya:ovs:content_id>
<ya:ovs:status>published</ya:ovs:status>
<og:restrictions:age>16</og:restrictions:age>
<ya:ovs:quality>HD</ya:ovs:quality>
<ya:ovs:allow_embed>false</ya:ovs:allow_embed>
<ya:ovs:genre>{genre}</ya:ovs:genre>
<video:tag>{title}, {season} сезон {episode} серия, {genre}</video:tag>
<ya:ovs:languages>ru</ya:ovs:languages>
<ya:ovs:views_total>{views}</ya:ovs:views_total>
<ya:ovs:comments>{comments-num}</ya:ovs:comments>
<ya:ovs:rating>{ratingscore}</ya:ovs:rating>
<ya:ovs:person>{actors}</ya:ovs:person>
<ya:ovs:person:role>artist</ya:ovs:person:role>
<ya:ovs:poster>[xfvalue_image_url_poster]</ya:ovs:poster>
<og:video>[xfvalue_iframe_url]?season={season}&episode={episode}&hide_selectors=true</og:video>
<og:video:width>1920</og:video:width>
<og:video:height>1080</og:video:height>
<video:duration>{duration}</video:duration>
<og:locale>ru_RU</og:locale>
<og:video:type>HTML5</og:video:type>
<ya:ovs:original_name>[xfvalue_title_en]</ya:ovs:original_name>
и для фильмов:
<og:site_name>{short_title}</og:site_name>
<og:type>video.movie</og:type>
<og:title>{title} (русская озвучка, все серии)</og:title>
<og:url>{full-link}</og:url>
<og:image>[xfvalue_poster]</og:image>
<og:image:type>image/jpeg</og:image:type>
<og:description>{descr_og}</og:description>
<ya:ovs:upload_date>{date=c}</ya:ovs:upload_date>
<ya:ovs:adult>false</ya:ovs:adult>
<ya:ovs:content_id>{news-id}</ya:ovs:content_id>
<ya:ovs:status>published</ya:ovs:status>
<og:restrictions:age>16</og:restrictions:age>
<ya:ovs:quality>HD</ya:ovs:quality>
<ya:ovs:allow_embed>false</ya:ovs:allow_embed>
<ya:ovs:genre>{genre}</ya:ovs:genre>
<og:video:tag>{title}, {genre}</og:video:tag>
<ya:ovs:languages>ru</ya:ovs:languages>
<ya:ovs:views_total>{views}</ya:ovs:views_total>
<ya:ovs:comments>{comments-num}</ya:ovs:comments>
<ya:ovs:rating>{ratingscore}</ya:ovs:rating>
<ya:ovs:person>{actors}</ya:ovs:person>
<ya:ovs:person:role>artist</ya:ovs:person:role>
<ya:ovs:poster>[xfvalue_image_url_poster]</ya:ovs:poster>
<og:video>[xfvalue_iframe_url]</og:video>
<og:video:width>1920</og:video:width>
<og:video:height>1080</og:video:height>
<og:video:duration>{duration}</og:video:duration>
<video:duration>{duration}</video:duration>
<og:locale>ru_RU</og:locale>
<og:video:type>HTML5</og:video:type>
<ya:ovs:original_name>[xfvalue_title_en]</ya:ovs:original_name>
а так же:
[aviable=showfull] prefix="og: http://ogp.me/ns# video: http://ogp.me/ns/video# ya: http://webmaster.yandex.ru/vocabularies/"[/aviable]
в тег html, чтобы получилось примерно так:
<html lang="ru"[aviable=showfull] prefix="og: http://ogp.me/ns# video: http://ogp.me/ns/video# ya: http://webmaster.yandex.ru/vocabularies/"[/aviable]>
Из разметки можно заметить, что здесь есть теги, которых нет в ДЛЕ: {short_title}, {full-link-embed}, {duration}. Для это есть плагин - dopolnitelnye-tegi.zip.
Следующий этап настойки - это микроразметка shema.org/Movie. Примерная схема разметки:
<div itemscope itemtype="https://schema.org/Movie">
<div itemprop="video" itemscope itemtype="http://schema.org/VideoObject">
<link itemprop="thumbnail" href="[xfvalue_poster]"/>
<link itemprop="thumbnailUrl" href="[xfvalue_poster]"/>
<meta itemprop="contentUrl" href="[xfvalue_poster]"/>
<meta itemprop="embedUrl" href="[xfvalue_poster]"/>
<meta itemprop="description" content="{descr_sch}"/>
<meta itemprop="name" content="{title}"/>
<meta itemprop="uploadDate" content="{date=c}"/>
<meta itemprop="datePublished" content="{date=c}">
<link itemprop="url" href="{full-link-embed}"/>
<link itemprop="contentUrl" href={full-link-embed}""/>
<meta itemprop="isFamilyFriendly" content="true">
<meta itemprop="playerType" content="Flash, HTML5">
<meta itemprop="duration" content="PT{duration}S"/>
<meta itemprop="width" content="1920">
<meta itemprop="height" content="1080">
<meta itemprop="videoQuality" content="HD">
</div>
<meta itemprop="dateCreated" content="{date=c}">
<meta itemprop="inLanguage" content="ru">
основная инфа
</div>
.....
<div itemprop="aggregateRating" itemscope itemtype="//schema.org/AggregateRating">
<meta itemprop="bestRating" content="10"/>
<meta itemprop="worstRating" content="1"/>
<meta itemprop="ratingValue" content="{ratingscore}"/>
<meta itemprop="ratingCount" content="{vote-num_count}"/>
</div>
.....
<div itemscope itemtype="https://schema.org/TVEpisode">
<meta content="{date=Y-m-d}T00:00:00+03:00" itemprop="dateModified">
<meta content="{episode} серия" itemprop="episodeNumber">
<div itemprop="video" itemscope itemtype="http://schema.org/VideoObject">
<meta itemprop="description" content="{descr_sch}"/>
<meta itemprop="name" content="{title} {episode} серия {season} сезона"/>
<link itemprop="thumbnail" href="[xfvalue_poster]"/>
<link itemprop="thumbnailUrl" href="[xfvalue_poster]"/>
<link itemprop="contentUrl" href="{full-link}"/>
<link href="{full-link}" itemprop="url">
<link href="[xfvalue_trailer_link]" itemprop="embedUrl">
<meta content="{date=Y-m-d}T00:00:00+03:00" itemprop="uploadDate">
<meta content="PT{duration}S" itemprop="duration">
<meta content="false" itemprop="isFamilyFriendly">
<meta content="medium" itemprop="videoQuality">
<meta content="1920" itemprop="width">
<meta content="1080" itemprop="height">
<meta content="UserComments:{comments-num}" itemprop="interactionCount">
<meta content="UserViewsLastDay:{views}" itemprop="interactionCount">
<span itemprop="thumbnail" itemscope itemtype="http://schema.org/ImageObject">
<link itemprop="contentUrl" href="[xfvalue_poster]">
</span>
</div>
основная инфа
</div>
.....
далее по странице добавляем нужные теги:
itemprop="image" - постер
itemprop="name" - рус название
itemprop="copyrightYear" - год
itemprop="contributor" - страна
itemprop="genre" - жанры
itemprop="director" - режиссер
itemprop="actor" - актеры
itemprop="description" - описание
.....
</div>
Так же в микроразметке ссылка на видео выглядит /trailer/{news-id}, чтобы трейлер был доступен по этому адресу нужно загрузить плагин trejler-otdelnoj-stranicej.zip и добавить в htaccess строку:
RewriteRule ^trailer/([0-9]+)(/?)$ engine/mods/trailer/trailer.php?video_id=$1 [L]
Если у вам есть кадры к материалам, можно сделать ещё и разметку изображений, выглядит она примерно так:
<div class="screens" itemscope itemtype='http://schema.org/ImageObject'>
<a href=[xfvalue_kadr_1]" onclick="return hs.expand(this)" rel="nofollow" itemprop='contentUrl'><img src="[xfvalue_kadr_1]" alt="{title}: кадр 1"/><span itemprop="description"><b>{title} кадр №1</b></span></a>
<a href="[xfvalue_kadr_2]" onclick="return hs.expand(this)" rel="nofollow" itemprop='contentUrl'><img src="[xfvalue_kadr_2]" alt="{title}: кадр 2"/><span itemprop="description"><b>{title} кадр №2</b></span></a>
<a href="[xfvalue_kadr_3]" onclick="return hs.expand(this)" rel="nofollow" itemprop='contentUrl'><img src="[xfvalue_kadr_3]" alt="{title}: кадр 3"/><span itemprop="description"><b>{title} кадр №3</b></span></a>
</div>
Далее не лишним будет сделать сжатие кода страниц сайта, для этого есть плагин - minifikacija-html-koda-stranic.zip.
Формирование спидбара для полной новости и посерийных страниц вынесены в файл шаблоны speedbar_fullstory.tpl. Для этого используется так же плагин - delaem-tegi-globalnymi-v-dle.zip. В main.tpl speedbar меняем на:
[aviable=xfsearch|static]{speedbar}[/aviable]
{include file="speedbar_fullstory.tpl"}
Вывод похожих новостей заменен модулем LinkEnso, плагин - LinkEnso-plugin.zip.
Создаем стандартные страницы faq + правообладателям + политика конфиденциальности через плагин avtozagruzka-tpl-shablonov-staticheskih-stranic.zip. В файлах шаблона меняем site.ru и mail@gmail.com на свои данные.
Правка htaccess: в самое начало добавляем код:
# Блокируем встраивание сайта в iframe другими сайтам
<IfModule mod_headers.c>
Header always append X-Frame-Options SAMEORIGIN
</IfModule>
# BEGIN Bad Bot Blocker https://seo-zona.ru/badbot
# Универсальный блокировщик спам-ботов от files. Подробности в скайпе: websochka
# Последняя редакция: 11.04.2020
SetEnvIfNoCase User-Agent "Abonti|AspiegelBot|aggregator|AhrefsBot|Aport|asterias|Baiduspider|BDCbot|Birubot|BLEXBot|BUbiNG|BuiltBotTough|Bullseye|BunnySlippers|Butterfly|ca\-crawler|CamontSpider|CCBot|Cegbfeieh|CheeseBot|CherryPicker|coccoc|CopyRightCheck|cosmos|crawler|Crescent|CyotekWebCopy/1\.7|CyotekHTTP/2\.0|DeuSu|discobot|DittoSpyder|DnyzBot|DomainCrawler|DotBot|Download Ninja|EasouSpider|EmailCollector|EmailSiphon|EmailWolf|EroCrawler|Exabot|ExtractorPro|Ezooms|FairShare|Fasterfox|FeedBooster|Foobot|Genieo|GetIntent\ Crawler|Gigabot|gold\ crawler|GrapeshotCrawler|grub\-client|Harvest|hloader|httplib|HTTrack|humanlinks|HybridBot|ia_archiver|ieautodiscovery|Incutio|InfoNaviRobot|InternetSeer|IstellaBot|Java|Java/1\.|JamesBOT|JennyBot|JS-Kit|k2spider|Kenjin Spider|Keyword Density/0\.9|kmSearchBot|larbin|LexiBot|libWeb|libwww|Linguee|LinkExchanger|LinkextractorPro|linko|LinkScan/8\.1a Unix|LinkWalker|lmspider|LNSpiderguy|ltx71|lwp-trivial|lwp\-trivial|magpie|Mata Hari|MaxPointCrawler|MegaIndex|memoryBot|Microsoft URL Control|MIIxpc|Mippin|Missigua Locator|Mister PiX|MJ12bot|MLBot|moget|MSIECrawler|msnbot|msnbot-media|NetAnts|NICErsPRO|Niki\-Bot|NjuiceBot|NPBot|Nutch|Offline Explorer|OLEcrawler|Openfind|panscient\.com|PostRank|ProPowerBot/2\.14|ProWebWalker|ptd-crawler|Purebot|PycURL|Python\-urllib|QueryN Metasearch|RepoMonkey|Riddler|RMA|Scrapy|SemrushBot|serf|SeznamBot|SISTRIX|SiteBot|sitecheck\.Internetseer\.com|SiteSnagger|Serpstat|Slurp|SnapPreviewBot|Sogou|Soup|SpankBot|spanner|spbot|Spinn3r|SpyFu|suggybot|SurveyBot|suzuran|SWeb|Szukacz/1\.4|Teleport|Telesoft|The Intraformant|TheNomad|TightTwatBot|Titan|toCrawl/UrlDispatcher|True_Robot|ttCrawler|turingos|TurnitinBot|UbiCrawler|UnisterBot|Unknown|uptime files|URLy Warning|User-Agent|VCI|Vedma|Voyager|WBSearchBot|Web Downloader/6\.9|Web Image Collector|WebAuto|WebBandit|WebCopier|WebEnhancer|WebmasterWorldForumBot|WebReaper|WebSauger|Website Quester|Webster Pro|WebStripper|WebZip|Wget|WordPress|Wotbox|wsr\-agent|WWW\-Collector\-E|Yeti|YottosBot|Zao|Zeus|ZyBORG|bingbot|SMTBot|NetcraftSurveyAgent|Konturbot|BackupLand|Go-http-client|python-requests|WebDataStats|Internet-structure-research-project-bot|StatOnlineRuBot|Nimbostratus-Bot|statdom.ru|PetalBot|SurdotlyBot|SEOkicks" bad_bot
Deny from env=bad_bot
# END Bad Bot Blocker
RewriteCond %{HTTP_REFERER} www.windowssearch-exp\.com [NC,OR]
RewriteCond %{HTTP_REFERER} windowssearch-exp\.com
RewriteRule .* – [F]
Перед загрузкой плагина redirekt-na-poddomen-roscomsos.zip в файле dopolneniya.php нужно заменить домен и поддомен на свои данные.
[/users_hide]