Архив метки: WordPress

Новая версия Security Service by CleanTalk

Как мы уже сообщали, CleanTalk запустил проект для обеспечения безопасности web сайтов. Сервис обеспечивает брутфорс защиту административной части WordPress и логирует действия пользователей.

С 29 ноября Security by CleanTalk становится облачным сервисом и основные данные теперь будут доступны в Панели управления сервисом. Стоимость сервиса составляет $20 за год обслуживания для одного сайта.

Переход на хранение данных в облаке позволяет предоставлять больше данных и более гибко использовать информацию за счет различных фильтров в Панели управления.

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

При работе с облаком сервис позволить хранить все данные за последние 45 дней, что позволяет хранить историю действий пользователей, данных о брутфорс атаках и успешных авторизаций и в случае необходимости узнать, кем и какие действия были произведены.

Что такое AMP (Accelerated Mobile Pages)? Как настроить CleanTalk для AMP

Что это?73rcbap

Ускоренные Мобильные Страницы — это способ создания веб-страниц статичного содержания с практически мгновенной загрузкой для мобильных устройств. Он состоит из трёх частей:

  1. AMP HTML — это HTML с ограничениями для надёжной производительности и расширениями для обогащения содержимого страниц.
  2. AMP JS — это библиотека, гарантирующая быстрое отображение страниц. Сторонние JavaScript запрещены.
  3. Google AMP Cache — это сеть на основе прокси для выдачи достоверных страниц на AMP HTML. Выборка, кэширование и улучшение производительности происходят автоматически.

Преимущества

  • Облегчённые версии стандартных веб-страниц с высокой скоростью загрузки.
  • Мгновенная подгрузка мультимедиа содержимого: видеоролики, анимация, графика.
  • Одинаковое кодирование — на разных устройствах будет одинаковое содержимое сайта с быстрой загрузкой.
  • Проект AMP открыт, что способствует свободному обмену информацией.
  • Возможное преимущество в SEO, так как скорость загрузки является одним из факторов ранжирования.
  • Наличие плагинов для популярных CMS, что облегчает внедрение AMP на сайте.

ywhw5gf

Использование в WordPress

При выборе AMP-плагина учитывайте следующее:

— Интеграция с плагином SEO для прикрепления соответствующих метаданных.

— Сбора аналитики с отслеживанием трафика AMP-версий страниц.

— Показ AMP-рекламы, если вы издатель.

Плагины, доступные в каталоге WordPress:

  1. AMP от Automattic
  2. Facebook Instant Articles & Google AMP Pages от PageFrog
  3. AMP — Accelerated Mobile Pages
  4. AMP Supremacy
  5. Custom AMP (требует установку AMP от Automattic)

Для примера установим и активируем AMP от Automattic, затем создадим новый пост с медиа-содержимым. Обратите внимание, что не страницу, а пост. Пока для WordPress-страниц автоматическое создание AMP-версии не предусмотрено.

Плагин AMP от Automattic автоматически конвертирует пост в ускоренную версию поста, при этом ничего дублировать самому не нужно. Достаточно просто дописать /amp/ (или ?amp=1) в конец ссылки:

http://demo1.cleantalk.org/wordpress/2016/09/02/amp-post/amp/

Сравним скорости загрузки постов на стационарном компьютере:

До установки AMP

d4mrvfx

 

После установки AMP

qojk4u9

По графикам и по итоговому времени загрузки сразу видно разницу.

Как настроить CleanTalk для AMP

Пожалуйста, убедитесь, что опция “Использовать AJAX для проверки JavaScript” выключена, потому что она будет препятствовать нормальному выполнению JavaScript.

Она находится здесь:

Панель Администратора WordPress —> Настройки —> CleanTalk —> Продвинутые настройки —> отключить “Использовать AJAX для проверки JavaScript” —> Сохранить изменения.

Остальные опции не будут препятствовать функционированию AMP-версии поста. Антиспам плагин от CleanTalk будет защищать все поля отправки данных, которые отобразились после преобразования.

На данный момент большинство AMP-плагинов убирает возможность комментирования и отправки контактных данных на ускоренных страницах.

Валидация от Google

Теперь нужно проверить структурированные данные с помощью инструмента “Валидатор от Google”:

https://search.google.com/structured-data/testing-tool/

Если Вы этого не сделаете, то поисковый бот просто не будет обращать внимания на Ваш пост и его не будет видно в результатах поиска.

Копируем и вставляем ссылку на AMP-версию поста и смотрим результат. Исправляем те ошибки, на которые нам укажут.

После этого Ваша AMP-версия поста будет готова.

Ссылки

Проект AMP:
https://www.ampproject.org/

Блог AMP:
https://amphtml.wordpress.com/

AMP-плагины в каталоге WordPress:
https://wordpress.org/plugins/search.php?q=AMP

Рекомендации от Google по созданию ускоренных мобильных страниц:
https://support.google.com/webmasters/answer/6340290?hl=ru

Как снизить вероятность брутфорс атак на WordPress

До момента, когда CleanTalk запустил security плагин я не обращал особого внимания на безопасность аккаунта администратора WordPress и полагался лишь на сложность пароля.

Самое опасное, это когда боты использую брутфорс, подберут пароль к аккаунту администратора сайта. Это может повлечь очень серьезные проблемы.

Поэтому рассмотрим только защиту аккаунта администратора.

Когда security плагин был запущен и возникла потребность тестировать, я начал получать отчеты о работе плагина, в которых указывается статистика неудачных попыток входа в аккаунт администратора WordPress. И за каждые сутки таких попыток было от 4 до 25, с разных IP адресов. Т.е. это были попытки подбора пароля ботами.

daily-security-report-2

На что я обратил внимание:

  1. Боты знали мой логин и подбирали пароль именно к нему.
  2. Я не использую стандартный логин Admin, а несколько изменил его.
  3. В блоге существуют и другие аккаунты администратора, но попыток их взлома за несколько дней наблюдений не происходило.

Задавшись вопросом, как боты узнали мой аккаунт и почему не пытались взломать другие аккаунты администратора? Все достаточно просто, под своим аккаунтом я размещаю посты и пишу комментарии, а другие аккаунты сделаны для наших сотрудников, хостера и других людей которые делали действия только в панели управления веб сайтом.

Исходя из этого, я понял что боты узнают логины через парсинг страниц сайта. Многие публикуют посты и комментарии из аккаунта администратора.

Например, вы публикуете пост в блоге, то ссылка на автора будет примерно такого вида http://example.com/author/admin***/. Боты просмотрев код вашего сайта ищут записи такого вида на всех страницах сайта и собирают из ссылок все аккаунты.

post

Тоже самое произойдет если вы напишите комментарий из аккаунта администратора, только ссылка будет немного другого вида http://example.com/members/admin***/

comment

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

Я описал один из возможных сценариев получения списка аккаунтов для взлома, могут быть и другие. Но практика показала, что если аккаунт администратора WordPress не используется для публикаций и комментариев на сайте, то его боты не знают.

Что сделать для того что бы минимизировать вероятность взлома аккаунта администратора веб сайта.

  1. Не публиковать статьи и комментарии из аккаунта администратора.
  2. Создать каждому администратору аккаунт с другой ролью, например Author или Editor. Все зависит от ваших потребностей.
  3. Сменить текущего пользователя администратора. Внимание! Перед этим необходимо сделать резервную копию сайта и баз данных. Я не могу рекомендовать это, и если вы делаете это, то на свой риск, так как это может привести к нежелательным последствиям.

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

Зайти в раздел «Пользователи» и удалить предыдущий аккаунт администратора, при этом WordPress вас спросит, на кого переназначить статьи и комментарии, здесь вам пригодится созданный заранее пользователь Author. На него переназначаете статьи и в дальнейшем используете для публикации постов и комментариев.

Эти действия можно сделать и для других аккаунтов администраторов. Но для большинства пользователей WordPress, будет достаточно установить один из плагинов защиты от брутфорс атак, например плагин Security & Firewall от CleanTalk.

CleanTalk запускает проект для обеспечения безопасности веб сайтов

CleanTalk запускает масштабный проект по созданию облачного сервиса для обеспечения безопасности веб сайтов. Проект будет включать в себя несколько функций: защита сайта от брутфорс атак, сканер уязвимостей и удаление вирусов.

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

Читать далее

Как добавить Shema разметку в блог WordPress с несколькими авторами

Structured-Data

На прошлой неделе я опубликовал инструкцию по добавлению Schema разметки в тему WordPress, но она действительна только для блогов с одним автором. А как насчёт блога с несколькими авторами? Сегодня я научу вас добавлять schema разметку в блог WordPress с несколькими авторами.
Во-первых, авторы блогов и анонимные комментаторы вашего сайта должны зайти в их профиль Google+, затем «о себе», «ссылки» (profile -> about -> links) и добавить Contributor to, а затем добавить url вашего сайта в список участников.

Шаг первый – добавить настройки профиля Google+ каждого автора

Откройте functions.php вашей темы WordPress и добавьте этот код.

if( !function_exists( 'mp_custom_userfields' ) ):
//////////////////////////////////////////////////////////////////////////////
// add custom user field
/////////////////////////////////////////////////////////////////////////////
function mp_custom_userfields( $contactmethods ) {
// ADD CONTACT CUSTOM FIELDS
$contactmethods['user_twitter']     = 'Twitter URL';
$contactmethods['user_facebook']    = 'Facebook URL';
$contactmethods['user_googleplus']  = 'Google Plus URL';
$contactmethods['user_linkedin']    = 'Linkedin URL';
return $contactmethods;
}
add_filter('user_contactmethods','mp_custom_userfields',10,1);
endif;

Как вы видите, это добавит новую графу в профиль пользователя WordPress (wp-admin/profile.php)

google-plus-add-field
Теперь все авторы и участники вашего сайта смогут добавить их собственный URL профиля Google+.

Шаг второй. Добавление schema шаблона.

Создайте чистый файл php и назовите его schema.php, а в него добавьте этот код.

<!-- #start Article Schema Markup for WordPress with multi authors -->

<div style="width:10px;height:10px;position:absolute;left:-9999em" class="post-schema">

<?php
global $post;
$author_email = get_the_author_meta('user_email');
$author_displayname = get_the_author_meta('display_name');
$author_nickname = get_the_author_meta('nickname');
$author_firstname = get_the_author_meta('first_name');
$author_lastname = get_the_author_meta('last_name');
$author_url = get_the_author_meta('user_url');
$author_status = get_the_author_meta('user_level');
$author_description = get_the_author_meta('user_description');

// get the user roles
if($author_status=='0'):
$user_roles = 'Subsribers';
elseif($author_status=='1'):
$user_roles = 'Contributor';
elseif($author_status=='2'):
$user_roles = 'Author';
elseif($author_status=='7'):
$user_roles = 'Editor';
elseif($author_status=='10'):
$user_roles = 'Administrator';
endif;

// get user google+ profile
$author_googleplus_profile = get_the_author_meta('user_googleplus');

// get post thumbnail
$thumbnail_src = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), "thumbnail" );
?>

<!-- Insert data:Article schema -->
<article itemscope="" itemtype="http://schema.org/Article">

<span class="entry-title" itemprop="name headline"><a itemprop="url" href="<?php the_permalink(); ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></span>


<!-- Insert data:Article:image schema -->
<?php if($thumbnail_src): ?>
<span itemprop="image"><?php echo $thumbnail_src[0]; ?></span>
<?php endif; ?>

<!-- Insert data:Article:Published schema -->
<time datetime="<?php the_time('Y-m-d') ?>" itemprop="datePublished"></time>
<time datetime="<?php the_modified_time('d F Y') ?>" class="entry-date updated"></time>

<!-- Insert data:Article:Author schema -->
<span class="vcard author"><span class="fn"><?php the_author(); ?></span></span>

<!-- Insert data:Article:ArticleSection schema -->
<?php
$categories = get_the_category();
$separator = ', ';
$output = '';
if($categories){
foreach($categories as $category) {
echo '<span style="display:none;" itemprop="articleSection">' . $category->cat_name . '</span>';
}
}
?>

<!-- Insert data:Article:Tag schema -->
<?php if( has_tag() ) { ?>
<span itemprop="keywords"><?php the_tags('', ','); ?></span>
<?php } ?>

<!-- Insert data:Article:Content schema -->
<?php if( !is_singular() ): ?>
<div itemprop="description"><?php the_excerpt(); ?></div>
<?php else: ?>
<div itemprop="articleBody"><?php the_content(); ?></div>
<?php endif; ?>


<!-- Insert data:Person schema -->
<span itemprop="author" itemscope="" itemtype="http://schema.org/Person">

<!-- Insert data:Person:Author schema -->
<span itemprop="name">
<a href="<?php echo $author_googleplus_profile; ?>?rel=author" itemprop="url">
<?php echo $author_displayname; ?></a>
</span>

<!-- Insert data:Person:others schema *optional -->
<span itemprop="givenName"><?php echo $author_firstname; ?></span>
<span itemprop="familyName"><?php echo $author_lastname; ?></span>
<span itemprop="email"><?php echo $author_email; ?></span>
<span itemprop="jobTitle"><?php echo $user_roles; ?></span>

<?php if($author_description): ?>
<span itemprop="knows"><?php echo stripcslashes($author_description); ?></span>
<?php endif; ?>

<span itemprop="brand"><?php echo bloginfo('name'); ?></span>

</span>
<!-- end data:Person schema -->


</article>

</div>

<!-- #end Article Schema Markup for WordPress with multi authors -->

Шаг третий. Добавление schema.php в post_loop()

Загрузите schema.php в корень вашей текущей темы (wp-content/themes/current-theme/).
Откройте любой файл с post_loop (index.php, home.php, archive.php or single.php) и добавьте этот код

<?php get_template_part('schema'); ?>

в post_loop() таким образом:

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<!-- your own existed loop code -->
<!-- add this below -->
<?php get_template_part('schema'); ?>
<?php endwhile; else: ?> <?php endif; ?>

Шаг четвёртый. Проверка результата

Если всё заполнено, проверьте результат с помощью Structured Data Testing Tool и проверьте отдельный url поста для каждого автора.
Если автор вашего сайта уже добавил url вашего сайта в Google+ profile -> about -> links -> Contributor to, всё должно быть в порядке.

Если нет, в результате проверки возникнет предупреждающее сообщение вроде

Authorship not verify with the www.domain.com. please verify…

Итак, это все этапы, которые нужны для нескольких авторов вашего блога WordPress. Надеюсь, вы насладитесь чтением, а если у вас есть комментарии к инструкции, не стесняйтесь комментировать здесь.

На заметку

Появляется вопрос, нужно ли использовать профиль Google+ для rel=author? Ответ положителен, Google+ нужен для проверки автора и данных, чтобы schema могла работать, но, с другой стороны, вот англоязычная статья о том, что проверка не нужна, которую вы можете найти интересной и опробовать.

Эта статья — перевод статьи How to add Schema Markup for WordPress Blog with Multi Authors , выполненный Марией Знаевой.

Антиспам плагин для WordPress, версия 2.33

Готова к использованию новая версия антиспам плагина для WordPress, изменения,

  • добавлено уведомление комментатору об автоматическому одобреннии комментария. Уведомление выводится ниже текста комментария только для первого комментария посетителя в блоге.
  • в панель управления плагином добавлен баннер сервисных уведомлений.

Архив с плагином cleantalk-spam-protect.2.33.zip.

Обновлен антиспам плагин для WordPress

Готова к использованию обновленная версия антиспам плагина для WordPress, изменения,

  • добавлена защита от спама для формы комментариев JetPack.
  • устранена cURL ошибка «Expect: 100-continue» при подключении к серверам автоматической модерации.

Архив с плагином cleantalk-spam-protect.2.31.zip.

Обновление антиспам модуля для WordPress.

Мы рады сообщить вам, что сегодня мы выпустили обновление модуля защиты от спама для WordPress.
(Без капчи, вопросов-ответов, подсчета животных, пазлов и арифметических задач)

В текущей версии, помимо стандартных форм, добавлена поддержка защиты от спама регистраций и комментариев в популярных плагинах WordPress:

  • JetPack Contact form
  • Contact form 7
  • Formiadble forms
  • BuddyPress

Помимо английского и русского языка, добавлена поддержка испанского языка, за перевод отдельное спасибо Andrew Kurtis и  WebHostingHub.

Архив http://downloads.wordpress.org/plugin/cleantalk-spam-protect.2.27.zip

Для определения спам ботов CleanTalk использует серию проверок, незаметных посетителю сайта, в том числе проверяет соответствие сообщения тематике статьи или сайта. Это позволяет обеспечить 100% защиту от спам ботов, вам не потребуется установка дополнительной защиты.

Теперь Вы можете отключить у себя на сайте методы защиты, затрудняющие общение и требующие от пользователя определенных действий, такие как:

  • Captcha, reCaptcha,
  • Вопросы/ответы,
  • Арифметические задачи и т.д.

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

Если у вас возникли вопросы, пожалуйста, не стесняйтесь обращаться к нам.

Обновлен плагин CleanTalk для WordPress

В новой версии антиспам плагина для WordPress сделаны следующие изменения:

  • исправлен баг с отображением PHP предупреждения для сайтов с PHP версии 5.4.
  • исправлен баг с проверкой комментариев Администраторов, Авторов и Редакторов блога.
  • настройки плагина «Фильтровать сообщения содержащие стоп-слова», «Язык системных сообщений» удалены из меню управления плагином. Указанные настройки теперь доступны в Панели управления сервисом.

Архив cleantalk-spam-protect.2.4.10.zip.

PS

Будем рады Вашим отзывам и оценкам плагина CleanTalk на сайте wordpress.org (требуется регистрация)!

Вышла новая версия антиспам плагина для WordPress

В новой версии:

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

Скачать плагин версии 2.3.8 cleantalk-spam-protect.zip.