The Power of a Return Visitor—Cultivating Relationships That Lead to Conversion

When you’re looking for a partner, a first date is great, but will it lead to marriage? Anyone celebrating their luxury sailing anniversary will tell you, building a lasting relationship is a whole different ball game.

Just as with personal relationships, developing a long-term relationship with site visitors takes time and communication. And it’s definitely worth the effort. Regularly returning visitors are not only much easier to convert into customers, they’re also more likely to become amazing brand advocates.

Four Ways to Attract Visitors to Your Site

The first step to to cultivating relationships is getting visitors to come back for more. Here are four ways to entice them to return:

1. Create High Quality Content

Your site content is what draws your audience to you and should differentiate you from the pack. As Rand Fishkin of Moz puts it, you should be striving to create 10x content—that’s content that’s 10 times better than anything out there today. Phenomenal content will both drive traffic to your site and make your visitors more likely to hit that “Share” or “Follow” button.

2. Get the Word Out

You’ve put the work into developing amazing content, now you need to spread the news. External sharing will help you gain followers and increase exposure for your content. Promoting your site with external sources is not the same as sharing on social media. Some ideas to consider are online discussion groups, retargeting campaigns, customer-focused e-mail promotions, or hosting a contest offering (one entry per social media share).

3. Participate in Your Community

Guest blogging is both a great way to attract new visitors to your site, and to encourage return visits. You gain credibility when your audience sees your brand referenced in other forums. Another way to get your name and brand out there is by commenting on other blogs. Make sure your comments are thoughtful, and use them to start conversations, which, over time, may develop into new relationships in the industry.

4. Get Analytics Savvy

Now that you’ve done all of this work, you’ll want to make sure it’s paying off! Your site’s sharing and clicking patterns can show you what’s strong on your site, and what’s not. Quick fixes such as rearranging your page layout or revising copy can greatly impact your key site metrics like conversions and newsletter signups.

Engaging Visitors Once They Land

Once you’ve gotten visitors to to your site, there are a few tactics you should use to engage them during their visit. Be sure to:

1. Ask for Feedback

One of the easiest ways to engage visitors is by asking them their opinion. Solicit comments and encourage feedback. Fitness tech company Fitbit had quite a bit of success with social listening, asking users to participate in a Facebook poll about the colors of their new product.

Asking your audience at the end of articles or before they exit if they found your site and its content useful is another great way to encourage engagement and start conversations. The key here is to give them time to experience your site before you solicit that feedback. You’ll also want to acknowledge their feedback with a confirmation screen or a follow up email, if possible. Starting the conversation is the first step toward building your digital relationships.

2. Use Digital Tools to Boost Engagement

Soliciting feedback from your audience is one way to boost engagement and create followers. Another way is through the use of digital marketing tools. Digital marketing tools can encourage sharing and site browsing.

  • Promote sharing on social media with a tool like AddThis Share Bar. Something as simple as a share bar gives your visitors an easy way to interact with your content.
  • Recommended content tools are another popular way to increase engagement. A tool such as AddThis Content Recommendations provides visitors with personalized, relevant content based on their digital profile.
  • Personalization is key to engaging return visitors. Consider a tool such as AddThis Audience Targeting to be able to customize messages to return visitors.

The goal of these tools is to drive conversions by delivering the right message to each visitor.

Three Tactics to Turn Visitors into Customers

Congratulations, you’ve done the legwork to bring visitors to your site and you’re seeing success in building a loyal audience. So, what’s the next step?

Now it’s time to talk about converting your return visitors into customers. Research shows it takes connecting with a prospect an average of seven times before they’ll purchase… so you need to make sure you’ve got lots of ways to proactively stay in touch! Here are three tactics we’ve found can make all the difference:

1. Encourage return visitors to join your email newsletter.

Make that contact. Facilitate conversations with your audience by asking them to join your email newsletter. Create customized and personalized content for them so they feel compelled to share and comment. According to AddThis data, returning visitors are 10x more likely than a first time visitor to leave an email address.

2. Incentivize return visitors.

Consider incentivizing return visitors to facilitate conversions. Using the AddThis Audience Targeting tool, create a specific message for just your return visitors, offering them a discount or a special promotional offer. Because they’re return visitors they’re more familiar and comfortable with your brand and something like a little incentive might just be the tiny push they need to make it happen. For example, design and print company Moo offers return visitors a discount on the products their visitors perused during their last visit to the site.

3. Retarget your website visitors.

Another way to boost conversions and turn your audience into customers is a retargeting campaign. Through retargeting (aka remarketing) you’re able to advertise—whether on social media or through Google and other platforms—to individuals who once visited your site but left before converting. A retargeting campaign can be a low-cost, high-effective way to boost your website’s business.

Install St George IPG on CentOS with cPanel

yum install swig gcc gcc-c++ autoconf automake sed php-devel
mkdir -p /opt/stgeorgeipg/ && cd /opt/stgeorgeipg/
wget --user-agent="Mozilla/5.0 (Windows NT 5.2; rv:2.0.1) Gecko/20100101 Firefox/4.0.1"
tar -xvzf StGeorgeLinuxAPI-3.3.tar.gz
cd webpaySWIG-3.3

Once downloaded and extracted, edit the makefilePhp5 as follows:

PHP_EXTENSIONS = /usr/local/lib/php/extensions/no-debug-non-zts-20100525
PHP_INCLUDE_DIR = /home/cpeasyapache/src/php-5.4.35/

Note the paths may vary on different PHP versions.

make -f makefilePhp5

If running on 64 bit, you need to link up the 32 bit SSL binaries to the 64 bit binaries, as follows. You can also check what each .so* file requires by using ldd.

ln -s /usr/lib64/ /usr/lib64/
ln -s /usr/lib64/ /usr/lib64/

Finally, edit your php.ini – find it via `whereis php` and add the following line:

extension =

Restart Apache

service httpd restart



Always double check the permissions / ownership!


Ensure that you re-make the makefilePhp with the new easyapache PHP version,

Includes = /home/cpeasyapache/src/php-5.4.25

10 Useful “IP” Commands to Configure Network Interfaces

In this post, we are going to review how we can assign Static IP Address, Static Route, Default Gateway etc.  Assigning IP Address on demand using IP command. IFCONFIG command is deprecated and replaced by IP command in Linux. However, IFCONFIG command is still works and available for most of the Linux distributions

How do i Configure Static IP Address Internet Protocol (IPv4)

To configure static IP Address, you need to update or edit network configuration file to assign an Static IP Address to a system. You must be superuser with su (switch user) command from terminal or command prompt.

For RHEL/CentOS/Fedora

Open and edit network configuration file for (eth0 or eth1) using your favorite editor. For example, to assigning IP Address to eth0 interface as follows.

[root@tecmint ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
Simple output:
NAME="System eth0"

For Ubuntu/Debian/Linux Mint

Assign Static IP Address to eth0 interface editing configuration file /etc/network/interfaces to make permanent changes as shown below.

auto eth0
iface eth0 inet static

Next, restart network services after entering all the details using the following command.

# /etc/init.d/networking restart
$ sudo /etc/init.d/networking restart

1. How to Assign a IP Address to Specific Interface

The following command used to assign IP Address to a specific interface (eth1) on the fly.

# ip addr add dev eth1
$ sudo ip addr add dev eth1

Note: Unfortunately all these settings will be lost after a system restart.

2. How to Check an IP Address

To get the depth information of your network interfaces like IP Address, MAC Address information, use the following command as shown below.

# ip addr show
$ sudo ip addr show
Sample Output
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ether 00:0c:29:28:fd:4c brd ff:ff:ff:ff:ff:ff
    inet brd scope global eth0
    inet6 fe80::20c:29ff:fe28:fd4c/64 scope link
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ether 00:0c:29:28:fd:56 brd ff:ff:ff:ff:ff:ff
    inet scope global eth1
    inet6 fe80::20c:29ff:fe28:fd56/64 scope link
       valid_lft forever preferred_lft forever

3. How to Remove an IP Address

The following command will remove an assigned IP address from the given interface (eth1).

# ip addr del dev eth1
$ sudo ip addr del dev eth1

4. How to Enable Network Interface

The “up” flag with interface name (eth1) enables a network interface. For example, the following command will activates the eth1 network interface.

# ip link set eth1 up
$ sudo ip link set eth1 up

5. How to Disable Network Interface

The “down” flag with interface name (eth1) disables a network interface. For example, the following command will De-activates the eth1 network interface.

# ip link set eth1 down
$ sudo ip link set eth1 down

6. How do I Check Route Table?

Type the following command to check the routing table information of system.

# ip route show
$ sudo ip route show
Sample Output via dev eth0 dev eth1  proto kernel  scope link  src  metric 1 dev eth0  proto kernel  scope link  src dev eth0  scope link  metric 1002
default via dev eth0  proto static

7. How do I Add Static Route

Why you need to add Static routes or Manual routes, because that the traffic must not pass through the default gateway. We need to add Static routes to pass traffic from best way to reach the destination.

# ip route add via dev eth0
$ sudo ip route add via dev eth0

8. How to Remove Static Route

To remove assigned static route, simply type the following command.

# ip route del
$ sudo ip route del

9. How do I Add Persistence Static Routes

All the above route will be lost after a system restart. To add permanent Static route, edit file /etc/sysconfig/network-scripts/route-eth0 (We are storing static route for (eth0) and add the following lines and save and exist. By default route-eth0 file will not be there, need to be created.

For RHEL/CentOS/Fedora

# vi /etc/sysconfig/network-scripts/route-eth0 via dev eth0

For Ubuntu/Debian/Linux Mint

Open the file /etc/network/interfaces and at the end add the persistence Static routes. IP Addresses may differ in your environment.

$ sudo vi /etc/network/interfaces
auto eth0
iface eth0 inet static
#########{Static Route}###########
up ip route add via dev eth0

Next, restart network services after entering all the details using the following command.

# /etc/init.d/network restart
$ sudo /etc/init.d/network restart

10. How do I Add Default Gateway

Default gateway can be specified globally or for in interface-specific config file. Advantage of default gateway is If we have more than one NIC is present in the system. You can add default gateway on the fly as shown below command.

# ip route add default via
$ sudo ip route add default via

Cisco Networking: Configuration Saving

Your Cisco network configuration is stored in two main locations: One is in RAM, and the other is in the configuration that is in use, or the running configuration. When you type commands, those commands are activated immediately and are stored in the running configuration, which is stored in RAM


You can use two commands to save your configuration, the write command or the copy command. The write command is deprecated, but would look like this

Router#write memory
Building configuration...

The newer version of the command is the copy command, which looks like

Router#copy running-config startup-config
Destination filename [startup-config]?
Building configuration...

The deprecated command is short and single-purposed, not flexible with full options like the newer command.

For any command you only have to type as many letters as the IOS requires to uniquely identify the command. So you will find that a lot of old-timers use the following command as a reflex after they complete changes and when they exit Global Configuration mode to copy their current running-config to the startup-config:

wri mem

The copy command offers more flexibility and options. Not only can you copy the running configuration data to the startup configuration file, but you could copy it to a file on flash or to a TFTP server on your network. The copy command is only a little more to type:

copy run sta

Learning Linux bash scripting for beginners

Bash (Bourne-Again Shell) is a Linux and Unix-like system shell or command language interpreter. It is a default shell on many operating systems including Linux and Apple OS X.

If you have always used a graphic user interface like KDE or Gnome or MS-Windows or Apple OS X, you are likely to find bash shell confusing. If you spend some time with the bash shell prompt and it will be difficult for you to go back.


Here are a list of tutorials and helpful resources to help you learn bash scripting and bash shell itself.

1. BASH Programming – Introduction HOW-TO : This tutorials intends to help you to start programming basic-intermediate shell scripts. It does not intend to be an advanced document.

2. Advanced Bash-Scripting Guide : An in-depth exploration of the art of shell scripting. A must read to master bash shell scripting for all Unix users.

3. Learn Bash In Y Minutes : A quick tour of bash programming language.

4. BASH Frequently Asked Questions : Greg’s Wiki includes answers to many bash programming problems in Q & A format.

5. Linux Shell Scripting Tutorial : A beginners bash shell scripting handbook for new Linux users, sysadmins and school students studying Linux/Unix or computer science.

6. Bash Hackers Wiki : This wiki provide human-readable documentation and information for bash includes tons of examples.

7. Google’s Shell Style Guide : A thorough and general purpose understanding of bash programming by Google.

8. bash — Standard Shell : A thorough understanding of bash programming for Gentoo developers by Gentoo project.

10. Bash By Examples Part I, II, and III : Fundamental programming in the BASH where you will learn how to program in bash by example.

11. Bash Guide for Beginners : This is a practical guide which, while not always being too serious, tries to give real-life instead of theoretical examples.

Have a favorite online bash tutorial or new books? Let’s hear about it in the comments below.

How to change the primary IP addres of a WHM/cPanel server

This is for CentOS/RHEL based servers.
Steps in WHM:

  • Log into WHM and go to Basic cPanel & WHM Setup
  • Change the Primary IP here with the option that says “The IP address (only one address) that will be used for setting up shared IP virtual hosts
  • Note: This might not actually be necessary.

Log in to SSH, and do the following:

  • Edit /etc/sysconfig/network-scripts/ifcfg-eth0
    • Change the IPADDR and GATEWAY lines to match the new IP and Gateway for the new ip


  • Edit /etc/sysconfig/network
    • Change the GATEWAY line here if it does not exist in the ifcfg-* file.


  • Edit /etc/ips
    • Remove the new primary IP from this file if it is present
    • Add the old primary IP to this file with the format ::

  • Edit /var/cpanel/mainip
    • Replace the old primary IP with the new primary IP


  • Edit /etc/hosts
    • Replace the old primary IP with the new one if needed. The hostname’s dns will need to be updated too


  • Restart the network service to make the new IP the primary
    • service network restart
    • Note: You’re probably going to be disconnected at this point, and have to log in to ssh using the new primary ip.


  • Restart the ipaliases script to bring up the additional IP
    • service ipaliases restart

  • Run ifconfig and make sure all IPs show up correctly


  • Update the cpanel license to the new primary IP


  • Verify you can still log in to WHM and there is no license warning


15 essential commands to check hardware information on Linux

1. lscpu

The lscpu command reports information about the cpu and processing units. It does not have any further options or functionality.

2. lshw – List Hardware

A general purpose utility, that reports detailed and brief information about multiple different hardware units such as cpu, memory, disk, usb controllers, network adapters etc. Lshw extracts the information from different /proc files.

3. hwinfo – Hardware Information

Hwinfo is another general purpose hardware probing utility that can report detailed and brief information about multiple different hardware components, and more than what lshw can report.

4. lspci – List PCI

The lspci command lists out all the pci buses and details about the devices connected to them.
The vga adapter, graphics card, network adapter, usb ports, sata controllers, etc all fall under this category.

5. lsscsi – List scsi devices

Lists out the scsi/sata devices like hard drives and optical drives.

6. lsusb – List usb buses and device details

This command shows the USB controllers and details about devices connected to them. By default brief information is printed. Use the verbose option “-v” to print detailed information about each usb port

7. Inxi

Inxi is a 10K line mega bash script that fetches hardware details from multiple different sources and commands on the system, and generates a beautiful looking report that non technical users can read easily.

8. lsblk – List block devices

List out information all block devices, which are the hard drive partitions and other storage devices like optical drives and flash drives

9. df – disk space of file systems

Reports various partitions, their mount points and the used and available space on each.

10. Pydf – Python df

An improved df version written in python, that displays colored output that looks better than df

11. fdisk

Fdisk is a utility to modify partitions on hard drives, and can be used to list out the partition information as well.

12. mount

The mount is used to mount/unmount and view mounted file systems.

13. free – Check RAM

Check the amount of used, free and total amount of RAM on system with the free command.

15. /proc files

Many of the virtual files in the /proc directory contain information about hardware and configurations. Here are some of them

CPU/Memory information

# cpu information
$ cat /proc/cpuinfo

# memory information
$ cat /proc/meminfo

Linux/kernel information

$ cat /proc/version
Linux version 3.11.0-12-generic (buildd@allspice) (gcc version 4.8.1 (Ubuntu/Linaro 4.8.1-10ubuntu7) ) #19-Ubuntu SMP Wed Oct 9 16:20:46 UTC 2013




Rsync with a non-standard ssh port

While doing some work on migrating accounts to a new server, I needed to use rsync over ssh. The ssh daemon on the remote server runs on a non-standard port, and all the port related options to rsync only change settings if you’re running the rsync-daemon.

After some searching, the man page of rsync  offered a solution:

rsync -avz -e "ssh -p $portNumber" /localpath user@remoteip:/remotepath


Rsync (Remote Sync): 10 Practical Examples of Rsync Command in Linux

Rsync (Remote Sync) is a most commonly used command for copying and synchronizing files and directories remotely as well as locally in Linux/Unix systems. With the help of rsync command you can copy and synchronize your data remotely and locally across directories, across disks and networks, perform data backups and mirroring between two Linux machines.

This article explains 10 basic and advanced usage of the rsync command to transfer your files remotely and locally in Linux based machines. You don’t need to be root user to run rsync command.

Some advantages and features of Rsync command
  1. It efficiently copies and sync files to or from a remote system.
  2. Supports copying links, devices, owners, groups and permissions.
  3. It’s faster than scp (Secure Copy) because rsync uses remote-update protocol which allows to transfer just the differences between two sets of files. First time, it copies the whole content of a file or a directory from source to destination but from next time, it copies only the changed blocks and bytes to the destination.
  4. Rsync consumes less bandwidth as it uses compression and decompression method while sending and receiving data both ends.

Continue reading Rsync (Remote Sync): 10 Practical Examples of Rsync Command in Linux

Linux : How do you display each sub-directory size in a list format via the command line

If you want to get a list of the directories and their sizes in a list format then siply use the below:

du -h
Provides this but it displays all of the sub-folders.
du -h --max-depth=1


If --max-depth=1 is a bit too long for your taste, you can also try using:

du -h -s *

This uses -s (--summarize) and will only print the size of the folder itself by default. By passing all elements in the current working directory (*), it produces similar output as --max-depth=1 would:

The difference is subtle. The former approach will display the total size of the current working directory and the total size of all folders that are contained in it… but only up to a depth of 1.