Category: Uncategorized

  • “Write letters”: Three techniques of a good layout of emails

    “Write letters”: Three techniques of a good layout of emails

    To the layout of letters and mailings devoted to a huge amount of tutorials. In this volume of information is very easy to get lost, and to write letters and do mailings still need. So today we have prepared material, which was collected three popular techniques for effective layout of emails, suitable for beginner web designers.

    Interactive writing

    Interactive elements dilute the monotonous text and save the reader’s time, and therefore are easy tool for creating sales letters and beautifully designed texts.

    As an example, let’s look at a simple way of creating interactive images. It consists of three steps:

    1. Create a table of one cell and set an background image that is displayed immediately after page loads.

    <table cellpadding=0 cellspacing=0 border=0><tr>
    <td width=240 background="http://.../alternate-image.jpg">
    </td></tr></table>

    2. Set the main image and “hide” it in a link with the class img-swap. This will create a hover-effect: when you hover over the background image, the main image will be in its place.

    <table cellpadding=0 cellspacing=0 border=0><tr><td width=240 background="http://../alternate-image.jpg"><a class="img-swap" href="http://../link"><img src="http://../primary-image.jpg" width="240" height="170" border="0" style="display:block;" alt="the product"></a></td></tr></table>
    

    3. Set up a command :hover and set the styles for the class img-swap.

    <style>.img-swap {  display: block;  width: 240px;  height: 170px;} .img-swap:hover img {  height: 0px;}</style>

    This version of the creation of interactive images is supported by services like: Mail, Outlook, Yahoo! and Gmail (with modifications).

    Progressive enhancement

    Progressive enhancement is a strategy involving the gradual creation of web pages – from simple to complex. First is the structure of the letter, and then to work on improving the appearance and usability.

    First, the content of email is marked up using HTML to form the structure, to build the layout. After that comes the debugging of the design by tools of CSS – sets the CSS styles improve the design and presentation of the document – here you can set background image, set font options, and so on. In the third stage apply the new capabilities of CSS3. After marking the content, and bring it in order, comes time of JavaScript that is responsible for communication with the interface and dynamic elements.

    Step-by-step work with a document allows you to track bugs and fix them on the spot, because the appearance of a single defect can affect the result of all the work. If you want to look at progressive enhancement in action, then pay attention to the example from html academy.

    Media queries

    Media query is the component of the CSS language, allowing you to select different sets of CSS styles. Sets of styles – the key to creating an attractive appearance of the document (illustrative practical example of CSS in action you will find the link).

    A media query consists of three sequential components that are configured step by step:

    • Media type – identifies the environment the application of the rules. There are such types, as all, print, screen (used for email) and speech
    • Expressions is a list of device properties describing, for example, the width and height  of the screen, the color
    • Rules of styles are used when you open a message in an environment appropriate to the type and properties in the expression

    Media queries are indispensable for optimizing the display format of emails on mobile devices. They allow you to move from a fixed design to a “floating” – the document will look good on different platforms.

    Moreover, the technology of media queries can be used for targeting of services (selection services that meet the specified criteria) and adapting to them. By analogy devices are targeted, where it is important to take into account the size of the screen. For example, the standard code for the iPhone 6 Plus is as follows:

    @media screen and (max-device-width: 414px) and (max-device-height: 776px) {    /* Insert styles here */
    

    Media queries allow you to create beautiful and, most importantly, adaptive emails that look good on any device, but you need to be prepared for the fact that many email clients do not support this technology.

    Interactive writing, progressive enhancement and media queries – it’s quite common techniques that can turn your electronic message into small works of art, moreover, they are a good basis for further development of your layout skills.

    This text is a translation of the article “«Пишите письма»: Три техники верстки хороших email’ов”  published by @mailman on habrahabr.ru.

    About the CleanTalk service

    CleanTalk is a cloud service to protect websites from spam bots. CleanTalk uses protection methods that are invisible to the visitors of the website. This allows you to abandon the methods of protection that require the user to prove that he is a human (captcha, question-answer etc.).

  • How-to: Techniques of creating interactive e-mail using CSS

    In our blog, we have already talked about how to implement pagination in a letter, but this is not the only version of interactive e-mailing. In some cases, you can create eye-catching emails using the hover-effect when the content changes when you hover over it.

    Today we present to your attention a selection of FreshInbox blog articles about how to create an interactive email.

    The first method involves three simple steps.

    Step 1: the table and background image

    First, you need to create a table that will contain one cell with the image as the background:

    
    <table style="height: 31px;" border="0" width="389" cellspacing="0" cellpadding="0">
    <tbody>
    <tr>
    <td width="240"></td>
    </tr>
    </tbody>
    </table>
    

    Step 2: link and image

    For hover- effect you need two images — one is shown initially and the other appears when you hover. The second step is to define the main image to be “wrapped” by link. Also, add to the link the class “img-swap” and apply to the image property display:block.

    
    <table cellpadding=0 cellspacing=0 border=0><tr><td width=240 background="http://../alternate-image.jpg"><a class="img-swap" href="http://../link"><img src="http://../primary-image.jpg" width="240" height="170" border="0" style="display:block;" alt="the product"></a></td></tr></table>

    Step 3: style and hover

    The final step is to add to the link styles and setting for it pseudo-class :hover, “targeted” on the image. Set the height of the image to 0px in that case, when the cursor hovers over a link, you can hide the image that the “background” image of the cell. Style display is set to :block for the link kept the width and height, even if concluded in it hidden image.

    
    <style>
    .img-swap {
    display: block;
    width: 240px;
    height: 170px;
    }
    .img-swap:hover img {
    height: 0px;
    }
    </style>
    

    This method is supported in Yahoo! Mail Outlook.com (and Outlook 2003). There is a modification for Gmail, which we have discussed in detail in a previous article.

    Click to see a surprise

    Another technique allows you to create interactive emails using the hover-effect, and for mobile users to show “surprise” after a click on the picture.

    This method is similar to the one described above but it differs in that, initially, for unsupported clients is not shown the original image, and the picture appears. This allows users with unsupported email programs not to miss the very meaning of the letters (although all the interactivity they will not be available).

    Supported clients: iOS Mail, Android 4.x Mail, Yahoo! Mail Outlook.com and Gmail.com (with described at the link above hack with attribute selectors).

    Unsupported clients: desktop, Outlook, mobile Gmail and Gmail for business

    What is the difference from the previous method

    To make it possible to display the opened image, you need to implement small changes compared to the previous version of the technique. Instead of using image-cover as overlay, and opened the pictures as a background, we need to do the opposite:

    
    <table border=1 cellpadding=0 cellspacing=0 background="http://freshinbox.com/examples/rollover-reveal-simple/images/reveal-close-l.jpg"><tr><td><a class="reveal" lang="x-reveal" style="display:block;width:500px;height:400px;"   href="#">  <img src="1450830627199316115658"   style="display:block;" height=400 width=500 alt="A surprise!" border=0></a></td></tr></table>
    

    Opened the image will be the main, and the original “cover” will become the background. Then on supported email clients, we initially hide the overlay, showing only the cover (i.e. the background). When the user hovers the cursor over the image, he has to be shown the hidden image.

    So, instead of:

    
    rollover:hover img{    max-height: 0px;    height:0px;}
    
     
    
    The code will look like this:
    
    .reveal img{max-height:0px;height:0px;}.reveal:hover img{  max-height: none;  height: auto;}
    

    Thus, if your email program does not support interactivity, the user will see the image, which eventually opens on hover. In this case, the wow-effect is lost but retained the meaning of the message.

    Besides, the image is wrapped in a “dead link” – it is necessary in order to effect triggered by tap on iOS and Android. The link may be active, but then the Android users will be redirected to it. In principle, interactivity on mobile devices you can even turn off with a special media query:

    
    @media screen and (max-device-width: 1024px){  .reveal img{    max-height: none !important;    height: auto !important;  }     }
    

    Under the spoiler presents the full code for the example (to work with it, you can on Codepen):

    This text is a translation of the article “How-to: Техники создания интерактивных email-писем с помощью CSS”  published by @lol_wat on habrahabr.ru.

    About the CleanTalk service

    CleanTalk is a cloud service to protect websites from spam bots. CleanTalk uses protection methods that are invisible to the visitors of the website. This allows you to abandon the methods of protection that require the user to prove that he is a human (captcha, question-answer etc.).

    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=EDGE" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
    <title>Rollover to Reveal</title>
    <!--
    This version supports mobile
    -->
    <style>
    
    /* wrapping in media query prevents styles from activating in OWA */
    .yfix{}
    
    @media screen and (max-width:9999px) {
    .reveal img{
    max-height: 0px;
    height:0px;
    }
    .reveal:hover img{
    max-height: none;
    height: auto;
    }
    
    * [lang=x-reveal] img{
    max-height: 0px;
    height:0px;
    }
    * [lang=x-reveal]:hover img{
    max-height: none;
    height: auto;
    }
    }
    
    </style>
    </head>
    <body style="margin:0px; padding:0px;">
    
    <table border=1 cellpadding=0 cellspacing=0 background="http://freshinbox.com/examples/rollover-reveal-simple/images/reveal-close-l.jpg"><tr>
    <td><a class="reveal" lang="x-reveal" style="display:block;width:500px;height:400px;" href="#"><img src="1450830627199316115658" style="display:block;" height=400 width=500 alt="A surprise!" border=0></a></td>
    </tr></table>
    
    </body>
  • Magic project builds on WordPress with package managers and a file

    Today I want to share with the audience of Habra my approach to the organization of the automated project build on WordPress, which saves time when creating new sites.

    Precondition

    So, you make websites on WordPress, and with each new project  you have to go to wordpress.org to download from there, in fact, WordPress itself + set of plug-ins that you use constantly. Or install the plugins you do right from the admin panel, or worse — copying them from the directory of the previous site. I always hated it, something is not elegant or does not satisfy the aesthetic needs. Besides, it takes a little bit, but all the time. So I wondered how to improve this process. Download everything I need, folded neatly in file and executed a “git init” and “git push”. Well, now I have a repository on Bitbucket, where is my build of WP with everything I need. From this point on in the beginning of the development process, you can run “git clone” and get something ready. Method pleased me not long – revealed “shortcomings”. Namely:

    • excessive use of the repository (contains all the source code of the plugins and CMS);
    • always keep old version of all (of course ,you can periodically update, but too lazy);
    • I want to store in the same repository the source code to SCSS/SASS/LESS, not a minified JS code and other important components, which in theory should not interfere with the production version of the project;

    Then I and my laziness consulted and came to the conclusion that at the beginning of work on a new website we are willing to expend energy for no more than the input one (max two) console commands for organizing of everything and go directly to the development process. Then laziness apart from me thought and continued: “and that in Git stored all at once, and that did not have a new version to roll (originally the new should be), and that it was possible on the server to pull correctly perform (you then is to serve all) and that to do all work itself, and do it quickly, while I rest.”

    Satisfied laziness wishlist

    Initially, I formalized the problem in a short list:

    1. automate the installation of WordPress core, and current versions of plug-ins wandering from project to project;
    2. to realize the dependence of the settings of the project from server environment;
    3. separate the source code of the client part of the project;
    4. automate builds of client-side;
    5. create not redundant storage in Git-repository.

    And I started to implement. First, I went to read the WP documentation and found there a beautiful thing that allows you to separate the CMS core from what changes the developer. Sketched on that occasion the following project structure:

    content/
    wp/
    index.php
    wp-config.php

    In the directory “wp” keep the core files of WordPress, “content” folder for themes, plugins, language versions, etc. “wp-config.php” — a standard file of settings of WP, and in “index.php” guided by the documentation I put the following:

    define('WP_USE_THEMES', true);
    
    require( dirname( __FILE__ ) . '/wp/wp-blog-header.php' );

    Launched on the server, checked, OK, it works. Now we need to do so that would be downloading the latest version of WP. For this I used Composer (how to install it, you can read here). All the files that I created earlier, I put in the folder “app”, in order to make all service files level up from the executable “index.php”. In the future my site will be run from this directory (remember to modify the host configuration for your server). And the folder “wp” was cleaned of all content. In project root I have placed the file “composer.json” with the following content:

    {
    
    "require": {
    
    "php": ">=5.4",
    
    "johnpbloch/wordpress": "*",
    
    },
    
    "extra": {
    
    "wordpress-install-dir": "app/wp",
    
    }
    
    }
    
    

    “johnpbloch/wordpress” – fork WP, suitable for installation via Composer, and “wordpress-install-dir” specifies the directory of the core installation of the CMS. Writing in the console:

    composer install

    I made sure that everything works. Fresh WordPress download in the “app/wp”. What about the plugins? With them everything is fine, thanks to the project wpackagist.org they also can pull through Composer. To do this, just modify the “composer.json”:

    
    {
      "repositories":[
        {
          "type":"composer",
          "url":"https://wpackagist.org"
        }
      ],
      "require": {
        "php": ">=5.4",
        "johnpbloch/wordpress": "*",
        "wpackagist-plugin/rus-to-lat-advanced": "*",
        "wpackagist-plugin/advanced-custom-fields": "*",
        "wpackagist-plugin/all-in-one-seo-pack": "*",
        "wpackagist-plugin/google-sitemap-generator": "*",
        "wpackagist-plugin/contact-form-7": "*",
        "wpackagist-plugin/woocommerce": "*",
        "wpackagist-plugin/saphali-woocommerce-lite": "*"
      },
      "extra": {
        "wordpress-install-dir": "app/wp",
        "installer-paths": {
          "app/content/plugins/{$name}/": ["vendor:wpackagist-plugin"],
          "app/content/themes/{$name}/": ["vendor:wpackagist-theme"]
        }
      }
    }
    
    

    In the section “repositories” specified the address “wpackagist”, in the section “installer-paths” specified the path where to install plugins and themes, and in the section “require” added the names of WP-plugins as “wpackagist-plugin/{{plugin_name}}”. In “wpackagist” available almost all plugins with wordpress.org, the availability of plugins you can look in the search on the site wpackagist.org.

    Completed:

    composer update 

    saw in the directory “app/content/plugins” had all the required plugins. Now we have to deal with the settings, let me remind you that the goal is to make the settings of the database and debug dependent on development environment, one on the local server and at the working others. To do this, squeeze them into a separate file “local-config.php”:

    
    define( 'DB_NAME', '%%DB_NAME%%' );
    define( 'DB_USER', '%%DB_USER%%' );
    define( 'DB_PASSWORD', '%%DB_PASSWORD%%' );
    define( 'DB_HOST', '%%DB_HOST%%' ); // Probably 'localhost'
    
    ini_set( 'display_errors', true );
    define( 'WP_DEBUG_DISPLAY', true );
    
    define( 'AUTH_KEY',         'put your unique phrase here' );
    define( 'SECURE_AUTH_KEY',  'put your unique phrase here' );
    define( 'LOGGED_IN_KEY',    'put your unique phrase here' );
    define( 'NONCE_KEY',        'put your unique phrase here' );
    define( 'AUTH_SALT',        'put your unique phrase here' );
    define( 'SECURE_AUTH_SALT', 'put your unique phrase here' );
    define( 'LOGGED_IN_SALT',   'put your unique phrase here' );
    define( 'NONCE_SALT',       'put your unique phrase here' );
    
    

    and change “wp-config.php” in the following way:

    
    if ( file_exists( dirname( __FILE__ ) . '/local-config.php' ) ) {
    	define( 'WP_LOCAL_DEV', true );
    	include( dirname( __FILE__ ) . '/local-config.php' );
    } else {
    	define( 'WP_LOCAL_DEV', false );
    	define( 'DB_NAME', '%%DB_NAME%%' );
    	define( 'DB_USER', '%%DB_USER%%' );
    	define( 'DB_PASSWORD', '%%DB_PASSWORD%%' );
    	define( 'DB_HOST', '%%DB_HOST%%' ); // Probably 'localhost'
    
    	ini_set( 'display_errors', 0 );
    	define( 'WP_DEBUG_DISPLAY', false );
    
    	define( 'AUTH_KEY',         'put your unique phrase here' );
    	define( 'SECURE_AUTH_KEY',  'put your unique phrase here' );
    	define( 'LOGGED_IN_KEY',    'put your unique phrase here' );
    	define( 'NONCE_KEY',        'put your unique phrase here' );
    	define( 'AUTH_SALT',        'put your unique phrase here' );
    	define( 'SECURE_AUTH_SALT', 'put your unique phrase here' );
    	define( 'LOGGED_IN_SALT',   'put your unique phrase here' );
    	define( 'NONCE_SALT',       'put your unique phrase here' );
    }
    
    

    Now, if there is a file “local-config.php” settings will be picked up from it. This file needs to add in “.gitignor” (why do we need passwords from the database in the repository?). It’s time to enter data to access database “local-config.php” to launch the installation procedure of WordPress and visit the admin area.

    In the admin area you need to visit “Settings -> General” and there to fix the address, as follows:

    WordPress address with “/wp” at the end, website address without the “/wp”.
    Great, you can use the site. The next step I dedicated custom styles and scripts (and somehow not logical, on the server everything is going, and all sorts of jquery to manually download?). In preparation I edited the project structure:

    
    app/
           content/
                 theme/
                      mytheme/
                            build/
                            index.php
                            style.css
           wp/
           index.php
           local-config.php
           wp-config.php
    src/
          fonts/
          js/
                main.js
          scss/
                style.ccss 
    composer.json
    
    

    The original font files, scripts and styles are stored in the folder “src/”. Next they’re going with gulp, minified and put in the folder “app/content/theme/mytheme/build”. As the preprocessor for CSS I use SCSS (how to install, I think we all know, but if not, here are instructions), to build JS — browserify. I considered logical that based on client side you need to pull up with nmp. The file “package.json” I get this:

    
    {
      "devDependencies": {
        "bourbon": "*",
        "bourbon-neat": "*",
        "browserify": "*",
        "fullpage.js": "*",
        "gulp": "*",
        "gulp-clean-css": "*",
        "gulp-concat": "*",
        "gulp-sass": "*",
        "gulp-sourcemaps": "*",
        "gulp-uglify": "*",
        "jquery": "*",
        "normalize-scss": "*",
        "vinyl-source-stream": "*"
      }
    }
    
    

    Section except “devDependencies”, did not fill, because to publish it in npm I obviously do not plan to. I write in the console:

    
    npm install
    
    

    I wait few minutes and see that all these dependencies carefully appeared in “node_modules”. The icing on the cake was the file “gulpfile.js” with this content:

    
    'use strict';
    
    var browserify = require('browserify'),
        source = require('vinyl-source-stream'),
        gulp = require('gulp'),
        sass = require('gulp-sass'),
        uglify = require('gulp-uglify'),
        cleanCSS = require('gulp-clean-css'),
        sourcemaps = require('gulp-sourcemaps'),
        sourcePath = './src/',
        buildPath = './app/content/themes/mytheme/build/';
    
    //scss
    gulp.task('scss', function () {
        return gulp.src('./src/scss/style.scss')
            .pipe(sass().on('error', sass.logError))
            .pipe(gulp.dest(buildPath + 'css'));
    });
    
    gulp.task('scss:watch', function () {
        return gulp.watch(sourcePath + 'scss/**/*.scss', ['scss']);
    });
    
    //js
    gulp.task('browserify', function() {
        return browserify(sourcePath + 'js/main.js')
            .bundle()
            .pipe(source('main.js'))
            .pipe(gulp.dest(buildPath + 'js'));
    });
    
    gulp.task('browserify:watch', function () {
        return gulp.watch(sourcePath + 'js/**/*.js', ['browserify']);
    });
    
    //fonts
    gulp.task('copy:fonts', function () {
        gulp.src(sourcePath + 'fonts/**/*', {base: sourcePath + 'fonts'})
            .pipe(gulp.dest(buildPath + 'fonts'));
    });
    
    //minify
    gulp.task('minify:js', ['browserify'], function(){
        return gulp.src(buildPath + 'js/*.js')
            .pipe(sourcemaps.init())
            .pipe(uglify())
            .pipe(sourcemaps.write())
            .pipe(gulp.dest(buildPath + 'js'))
    });
    
    gulp.task('minify:css', ['scss'], function(){
        return gulp.src(buildPath + 'css/*.css')
            .pipe(cleanCSS({compatibility: 'ie9'}))
            .pipe(gulp.dest(buildPath + 'css'));
    });
    
    
    //task groups
    gulp.task('default', ['copy:fonts', 'scss', 'browserify']);
    gulp.task('watch', ['copy:fonts', 'scss:watch', 'browserify:watch']);
    gulp.task('production', ['copy:fonts', 'scss', 'browserify', 'minify:js', 'minify:css']);
    
    

    The command “gulp” will copy the fonts, compile SCSS, JS glued and folded it all neatly in a folder build. “gulp watch” does the same, but at each change of file. “gulp production” additionally clean the file from comments and minified it.

    What is the result?

    In the end, you don’t need to repeat the above. I conveniently have uploaded all on GitHub: https://github.com/IvanZhuck/kosher_wp_seeder.

    You must clone the repository and run the following commands (after adjusting the list of plugins and dependencies, if necessary):

    composer install npm install

    Me and my laziness satisfied, the projects are to start faster and work better.

    This text is a translation of the article “Волшебная сборка проекта на WordPress при помощи пакетных менеджеров и напильника”  published by @ivan_zhuck on habrahabr.ru.

    About the CleanTalk service

    CleanTalk is a cloud service to protect websites from spam bots. CleanTalk uses protection methods that are invisible to the visitors of the website. This allows you to abandon the methods of protection that require the user to prove that he is a human (captcha, question-answer etc.).

  • A brief history of passwords from the P to the S: birth, death and the zombie apocalypse

    A brief history of passwords from the P to the S: birth, death and the zombie apocalypse

    The attack on the World Trade Center towers on 11 September 2001 claimed the lives of 658 employees of the financial company Cantor Fitzgerald. Its Director Howard Lutnick lost that day his brother, faced with an unprecedented problem. And it wasn’t even that the company’s servers, including backup, was also buried under the rubble. Information was partly available, but it was closed behind hundreds of accounts of perished colleagues. For assistance was attracted experts from the company Microsoft, they have used powerful servers for fast brute-force — from data access depended on the existence of the company, and it was necessary to time for the first opening of trading after the attacks. To accelerate the breaking could personal data of the victims. Lutnick had to call relatives, and, at the most inopportune moment, ask them a series of questions: the wedding day, the name of the college or university, the dog’s name.

    (more…)

  • Phishing on a new level: Cloudflare + Protonmail + Unvalidated Redirects – set of young Fisher

    “… you come to me, and you ask something, but you don’t ask with respect …”

    Vito Corleone

    Phishing is still the most popular and most successful type of hacker attacks. It’s simple, attacked is not the software, not servers, not networks, and the most vulnerable components of information systems – users. I often meet with phishing, as a single, to personal addresses, and mass attacks. In most cases, it is awkwardly composed letters and clumsily made phishing pages. Until recently most of these attacks frustrated at the user level: letters or just ignored (as the signs of phishing was very obvious) or in the worst case, the letters are forwarded to customer support with the question “is it safe to enter your password on this page?”. Of course, some part of users still underway, but in percentage terms, it was really low. But just last week I was faced with a phishing attack, which surprised me. I did some analysis and found out how it was organized and what tools were used.

    (more…)

  • How we increased conversion: the history of the cloud service CleanTalk Anti-Spam

    How we increased conversion: the history of the cloud service CleanTalk Anti-Spam

    Representatives of the cloud-based antispam service CleanTalk Anti-Spam told vc.ru about how they have achieved conversion improvements of the service site, using fairly simple solutions and assessing their effectiveness.

    CleanTalk Anti-Spam is a cloud service protection from spam bots for websites. Since the introduction of the service the number of clients has grown steadily, but over time it became clear that the effectiveness of website conversion can be increased.

    For ease of understanding and analysis, we divided the conversion to “free” (registration on the website) and “paid” (the beginning of the use of paid services of service). Of course, they are interrelated: increasing the number of users at the registration stage, we get the growth of paid users.

    So, we decided that the increase in the number of users of the service in our power, but it needs to look for ways to optimize existing channels of attraction. As a result, spending relatively little time and resources to search for and testing ways, we have achieved very impressive results surpassed our wildest expectations: the conversion registration has increased by about 98%, and registered in pay ― by 49.4%.

    Our users

    The users of CleanTalk Anti-Spam are the companies that have a corporate website, private owners of personal sites, webmasters and studios, as well as owners of Internet-shops. In fact, the need for protection from spam bots may arise from any website that has any form to fill.

    User expectations regarding the anti-spam service is quite natural and predictable: turning once, they want to get everything, to no longer pay for the service and pre-existing attention problems and not to waste their time. They want to be fully confident in the effectiveness and fully trust decision. In our case, this means that they get protection from spam, which are invisible to the visitors and do not make them to do extra work to prove that they are human.

    “Free” conversion

    The first thing we noticed as a potential source of growth in registrations, changes of site design. However, as it turned out in our case, the design has little effect on conversion. We have developed several variants of external execution of the main page and tested them, but any tangible result is not given.

    The next thing we decided to try – to put the registration button directly in the part of the site, which is the main driver of traffic. The solution is quite obvious: the interested visitors can see the offer in the place of the site for which they came. In our case it blacklists the IP and email addresses from which to send spam. As a result simple call to the registration in the right place for two months of testing gave a 6.6% increase in registrations. Of course, after this we left button on a new place.

    The next step we decided to place a pop-up window with a banner calling for registration. This banner is displayed only after the user makes the second search on site: thus see it only targeted visitors likely to be in need of protection from spambots.

    Despite popular and quite well-founded belief that a pop-up banner ads annoy visitors, we received an increase in registrations of search blacklisted in 38.9%. However, we have not received any complaints and have not seen a reduction of repeat visits to the site.

    After done, we can give advice: look at what additional information you can use to attract users. Describe in one sentence what problem you will solve, and make offer to users with a minimum required to achieve the goal steps.

    Further research of the own site led to the idea that it is possible to simplify the registration procedure and form for it. We have removed from form all of the extra fields, leaving only the most necessary. So, now users don’t need to come up with passwords, they are generated automatically and come immediately after registration to the specified email account together with other necessary information. As a result, the form has only two fields ― email and website address.

    In case of refusal from the manual password entry in favor of its automatic generation, we have been guided by the consideration that a new user arriving at unfamiliar service, is unlikely to want to use own regular password, but rather will be to come up with a new one. Of course, this complicates his task, the user may leave the website. Simplifying it, we have achieved growth of registrations of about 12%.

    Good results were achieved by embedding the registration form in the settings page of plugins for CMS WordPress and Joomla. Thanks to the simplicity and speed of registration of the conversion growth amounted to 19.5%.

    “Paid” conversion

    Because of the nature of the SaaS-model, most cloud services, including CleanTalk Anti-Spam, give users a free trial period. However, the duration of the period is different for each service, so find the best option we have decided experimentally. Moreover, the duration of the trial period and the conversion also depends on the source registrations.

    We have supposed that, depending on the source of registration, our users need different on the length of the trial period. From some sources, users come prepared and “ripened”, while the other need more time to explore the capabilities of the service. For CleanTalk registrations sources can be divided into three categories:

    • Search traffic from the blacklist;
    • Traffic from the plugins directory;
    • Transitions from websites and social networks.

    We have divided the sources and each of them changed the duration of the trial period. It should say that the system does not display the duration of the trial period in days, instead, users see the date up to which they can use the functionality CleanTalk without payment.

    For search traffic from the black list the best conversion was at the 7-day free period. Compared with a trial period in a 14-day period, which we applied to all users initially, the conversion increased by 86%!

    For registration of the plugins directory best indicator was 14 days. Selective survey of users showed that this group of users needs more time to assess the functionality of the service and its applicability to their situations. Since we initially used the 14-day free period, other options its duration caused a decrease in  the conversion.  

    But for users who came from websites and social networks, the trial period is not needed at all. We assume that this is due to the fact that these people move from the sites, where they are already familiar with the service, read the description, feedback or review. That is, they already have the recommendation of a trusted and reputable source for them, so there is no need to test. Thus, compared with the 14-day period, the growth of paid users amounted to 115%.

    Not less attentively should be approached to the choice of payment systems and the order of their placement on the payment page. Be sure to choose a proven and well-known payment system, not to be in favor of those in which the lower commission. Also, do not introduce too many ways of payment, as it disperses the attention of users and causes them to doubt the initial choice.

    Some time ago, we experienced some technical problems with receiving payment via PayPal. As a result, we have moved the system down, which was a mistake. During the test, we left only two methods of payment, and PayPal was again raised up. As a result, the number of payments increased by 23%.

    The placement of the security certificates on the payment page and the EV Green Bar in the address bar on the website should give to increase the confidence of users and, consequently, increase conversion. However, in our case both of these actions have not gave any result. This is certainly connected with the high level of technical competence of the audience of the service, which not needs to be convinced of the safety of popular payment systems.

    We continue to use EV Green Bar, and the icon for the security certificate was replaced by the icon back guarantee payment. However, it did not have any effect and only serves to inform users about this possibility.

    We were very pleased with the results. However, even those actions which had no desired effect in our case, in other situations can bring significant benefit to the business. For each service it is very individual and depends on many parameters. We wanted to draw your attention on the things that helped us in the development. Perhaps our experience will be useful to you.

  • CleanTalk is one of the fastest anti spam plugins

    Everyone knows about why the faster your site loads, the better your customer experience is, the higher your Pagerank will be, and the higher your site will convert. Speed is becoming increasingly important in Search Engine Optimization , conversion and user experience. Today, site speed is one of the most important ranking factors on Google. A site that loads slowly will lose visitors and potential revenue.

    Every plugin adds a bit of complexity to your site, and it’s important to install well-developed plugins from a reputable source.

    If one plugin is slowing your site down, you can find a faster one or remove it altogether. In general, we always want to have the fastest set of plugins possible for the features you want the plugins to add!

    There are different ways of improving your site’s loading performance, an important parameter for the performance site to install well-developed plugins from a reputable source.

    Among anti-spam plugins CleanTalk Anti-Spam is one of the fastest. Despite the large plug-in functionality, the developers manage to optimize the performance of the plugin so that CleanTalk faster than most analogs. This contributes to the cloud service architecture, as all calculations take place in the cloud, not on the server, the server receives the finished result for further action.

    About CleanTalk

    CleanTalk is a SaaS spam protection service for Web sites. CleanTalk uses protection methods which are invisible for site visitors. Connecting to the service eliminates needs for CAPTCHA, questions and answers and other methods of protection, complicating the exchange of information on the site. Their solutions are reliable, easy and efficient. The plugins are completely invisible to the visitors and allows you to permanently abandon the ways of protection that impedes the communication of visitors to the site (CAPTCHA, question-answer, etc.). CleanTalk allows you to automate protection against distributed from spam and registration spam bots.

    The team CleanTalk has been developing a cloud spam protection system for 4 years and has created a truly reliable anti-spam service designed for you to ensure your safety.

    PressKit https://cleantalk.org/presskit

  • Extend to storage time of detail of the service for 45 days

    CleanTalk company pleased to inform you that we have made it possible to extend storage time of detail of the service. The previous period of 7 days for some users of the service was not enough and we have decided to increase it, and now you can plug an extended detail, which will be available within 45 days.

    To enable extended detail, go to Control Panel> Profile and mark the check box “Keep history 45 days”.

    CleanTalk reminds that these data can be useful for improving the service and feedback, identifying incorrect response filters, view details on each post/registration (IP (country), email, text messages, date/time processing and URL of the page on which was made comment). Also, you can see the details of the activity of spam IP address is blacklisted, it is enough to go to the link.

  • CleanTalk releases official anti-spam module for IPS Community Suite 4.х.

    CleanTalk company has released official anti-spam module for IPS4. The new version features optimized programme code and improved antispam check for better spambot protection.

    The module allows forgetting about CAPTCHA, question-answer, puzzles and other methods, that complicate website experience. Those protection methods decrease website conversion significantly.

    CleanTalk uses check methods that are invisible for the user, user or spam bot behavior is transferred to CleanTalk server for analysis, and the server decides whether it’s a spambot or a regular user.

    CleanTalk saves time and resources spent on moderation and verification of questionable users or comments. Unnoticeable Protection from spam and registration forms, which does not require the visitor to prove who they are, increases the conversion in registration and is not annoying.

    You can now download the new module version for IPS Community Suite 4.х.

    Setup manual anti-spam for IPS4.

    For clients’ convenience, the company offers free mobile apps, enabling you to control and receive information about registrations/comments through your mobile device (for Ipad/Iphone and Android).

    The company is already providing automatic spam protection service to popular CMS: Joomla, phpBB, WordPress, DataLife Engine, SMF, IP Board, vBulletin, VirtueMart, Drupal, XenForo, 1C Bitrix, MediaWiki and prepared class libraries for PHP, Perl, Python, NET, Yii.

    © CleanTalk.org 2015

     

  • The new version 1.30 of the anti-spam mod for SimpleMachinesForum

    The new version 1.30 of the anti-spam mod for SimpleMachinesForum

    We are pleased to inform you that CleanTalk released an updated version of MOD for SMF.

    Mod version 1.30 has been released.

    • Updated library for working with API Cleantalk.
    • Disable logging responses from CleanTalk in SMF (default). New option in mod settings added to enable/disable logging.
    • New protection against bots at Javascript.
    • Implemented system upgrade mode for versions 1.21 (current) and up through the system package manager SMF. Now you do not need to uninstall the old version of fashion, to establish a new one.

    Extension may download from official catalog.
    http://custom.simplemachines.org/mods/i … p?mod=3851