Author: Michael Blood
How Do You Monetize A Blog
How do you monetize a blog? There are a few key items needed to monetize a blog. Do you have them? Here is a list:
- Internet traffic
Short list eh? Well in the amazing Internet-age, you can sell traffic! However, traffic is cheap and better used for alternative revenue streams such as:
- Product sales
- Advertising
- Donations
- Affiliate sales
- Upsales
- Email list generation
- Lead generation
Typically, PPC sales sell your traffic for pennies per click. Unless you are in a highly competitive keyword realm, it will be pennies. Is this worth it? If you’re selling a widget, wouldn’t it be a bigger return to sell the widget or obtain the visitor’s contact information for future opportunities at sales?
For example, if I was selling a widget for $20 and say one in 2000 visitors make a purchase it could be said that each visitor is potentially worth a dollar. However, the visitor is worth more than that. He or she could be a source of brand development.
How do you monetize a blogInstead of selling that visitor for say $0.05 to a PPC, the better value is in presenting your widget brand in a positive manner. This way, that visitor may not buy today but perhaps in the future or the brand awareness can help your word-of-mouth sales. This is the power of social media marketing as well. Brand awareness. ok I’m getting off track.
How do you monetize your blog? Develop your traffic funnel. Is your upsale on every landing page? Is your widget “buy now” link or button easy to find? How about your logo? Do you have a brand?
If you have ANY traffic, you should be analyzing it. Use Google Analytics, AWStats, Webalizer etc. What are your visitors doing? Do they land then bounce or click a link or two? How long are they on your website? Lost opportunities are wasted opportunities.
This all being said, don’t go and overload your site with advertisements and popups, driving your customers away. There is a balance and you must find it. Create case studies, experiment with different ideas/methods then use what works! Good luck out there!
Configure Google Analytics Conversions Track Events Contact Form 7
How To Configure Google Analytics Conversions Track Events Contact Form 7
Tracking conversions in Google Analytics using Contact Form 7 requires setup on Google Analytics Conversion Goals control and in the Contact Form 7 contact form Additional Settings.
The Additional Settings tab requires you to customize your button event to send Google Analytics the expected values.
This setup was quite a challenge for me to overcome because their were several factors preventing success that I had to work through. Apparently, this is a common need for many WordPress administrators but an even more common problem getting to work. I will explain in three steps:
- Obtaining your Google Analytics tracking code
- Preparing your Google Analytics account to track incoming data
- Configuring your Contact Form 7 “send” button to send Google Analytics the data
- Testing/Verification
Step 1:
Google has a javascript function for you to send the data. This is probably already on your site for general statistics tracking. Open an Incognito Window, open your website, then right click your page and View Page Source, then perform a Find or Search for “analytics” and you should jump to the javascript code. If you found it, then you can go to the next step, otherwise check out this article for adding the GA code.
Step 2:
In your Google Analytics account, click Admin, Goals, +New Goal. Now Custom, enter a name for the Goal, Event for type,
- Category (Equals to) “contact form”
- Action (Equals to) “submission”
- Label (Equals to) “my contact form”
- Create Goal to save
Step 3:
Edit your contact form, click the Additional Settings tab, and add this code:
on_sent_ok: "__gaTracker('send', 'event', 'contact form', 'submission', 'my contact form');"
Now here is where many admins seem to be having trouble and I did as well. The issue is determining what your Google Analytics function is then making sure it is used here. In this case, __gaTracker is the function.
You will find your function back in Step 1. Perform your View Page Source search again for “analytics” this time at the end of the javascript look for the function name. Common names I’ve seen are “ga”, “__gaTracker”, “gaq.push”, and “gaq”. Just replace __gaTracker with the function name you happen to have.
gaq.push is a little different:
on_sent_ok: "_gaq.push(['_trackEvent', 'contact form', 'submission', 'my contact form']);"
Testing/Verification:
In Google Analytics, at the top, click Reporting, expand Real Time, and click Conversions. This interface is displaying real-time data that GA is receiving from your website. So in another window, goto your Contact Form, fill it out, and hit send. Switch back to your GA, Real Time tab and you should see a hit!
If you see a hit then you’ve properly configured your form! Congrats! If not, please re-read the steps to verify you did everything and check that you didn’t overwrite a ( or ‘ in the button tracker code.
Many WordPress administrators have the need to track Contact Form 7 conversion data in Google Analytics. Configuring the button code to use the proper javascript function is vital.
Tips: When I was working through my troubleshooting, I eventually took the Contact Form 7 out of the formula by making a simple html page that had two things: 1. The GA javascript in the <head> and 2. a hyperlink with the GA tracking code. Here is an example:
<html> <head> <script type="text/javascript"> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','__gaTracker'); __gaTracker('create', 'UA-34343434-34', 'auto'); __gaTracker('set', 'forceSSL', true); __gaTracker('require', 'displayfeatures'); __gaTracker('require', 'linkid', 'linkid.js'); __gaTracker('send','pageview'); </script> </head> <body> <a href="/c.html" target="_blank" onClick="__gaTracker('send', 'event', 'contact form', 'submission', 'my contact form');">Test</a> </body> </html>
The idea is to have a test link that I could use to verify that my tracking code and function were even working because I had the suspicion (I was correct) that the Contact Form 7 code needed tweaking. If you use this example, you MUST change the UA-343434′ line with your Tracker ID, check your View Source for this or you can find it in Google Analytics, Admin, Tracking Info, Tracking Code.
Finally, you should be aware that it takes a day or two for GA to start displaying your conversions in the normal area where you can run reports and analysis (not the Real-Time area).
Thanks for reading How To Configure Google Analytics Conversions Track Events Contact Form 7
In XenCenter Console – mount DVD drive in Ubuntu 14.04
In XenCenter Console – mount DVD drive in Ubuntu 14.04
When running Ubuntu 14.04 LTS as a guest under XenServer6.5 I was attempting to install xs-tools.iso by mounting it into server using the drop down box.
However at the console, i was unable to find /dev/cdrom or /dev/dvd* or /dev/sr* or anything that seemed to fit.
So I ran fdisk -l
#fdisk -l
and I found a disk I didnt recognize
Disk /dev/xvdd: 119 MB, 119955456 bytes 255 heads, 63 sectors/track, 14 cylinders, total 234288 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Disk /dev/xvdd doesn't contain a valid partition table
So I mounted it and looked at the contents
#mount /dev/xvdd /mnt #ls /mnt dr-xr-xr-x 4 root root 2048 Jan 27 04:08 Linux -r--r--r-- 1 root root 1180 Jan 27 04:08 README.txt -r--r--r-- 1 root root 65 Jan 27 04:07 AUTORUN.INF -r--r--r-- 1 root root 802816 Jan 27 04:07 citrixguestagentx64.msi -r--r--r-- 1 root root 802816 Jan 27 04:07 citrixguestagentx86.msi -r--r--r-- 1 root root 278528 Jan 27 04:07 citrixvssx64.msi -r--r--r-- 1 root root 253952 Jan 27 04:07 citrixvssx86.msi -r--r--r-- 1 root root 1925120 Jan 27 04:07 citrixxendriversx64.msi -r--r--r-- 1 root root 1486848 Jan 27 04:07 citrixxendriversx86.msi -r--r--r-- 1 root root 26 Jan 27 04:07 copyright.txt -r--r--r-- 1 root root 831488 Jan 27 04:07 installwizard.msi -r-xr-xr-x 1 root root 50449456 Jan 27 04:03 dotNetFx40_Full_x86_x64.exe -r-xr-xr-x 1 root root 1945 Jan 27 04:03 EULA_DRIVERS -r-xr-xr-x 1 root root 1654835 Jan 27 04:03 xenlegacy.exe -r-xr-xr-x 1 root root 139542 Jan 27 04:03 xluninstallerfix.exe
So I found it! Now just to install the tools and reboot
#cd Linux && ./install.sh #reboot
Create correct user privileges / grant to use for mysqldump
Create correct user privileges / grant to use for mysqldump
To make sure you have the correct user permissions for the backup user that you will use for dumping mysql databases for backup
mysql> GRANT SELECT, SHOW VIEW, RELOAD, REPLICATION CLIENT, EVENT, TRIGGER ON *.* TO 'backup'@'localhost'; mysql> GRANT LOCK TABLES ON *.* TO 'backup'@'localhost';
Thanks to this post for the help
One Line WordPress Install
One Line WordPress Install
To install the latest version of WordPress to your current working directory in Linux you can run this command
#wget -O - https://wordpress.org/latest.tar.gz |tar --strip-components=1 -xvzf - wordpress/
Just make sure you are in your install directory when you run it
#cd /var/www/html
XenCenter – missing ‘Logs’ tab
XenCenter – missing ‘Logs’ tab
Xencenter has moved the status of actions somewhere for each Physical and VM from the very intuitive ‘logs’ tab location it was before. Here is where they moved it.
- At the bottom of the left pane there is an option called ‘Notifications’, when you click it you are automatically shown all of the the alerts (such as the status changes)
- At the top of the left pane whn you are clicked on Notifications you will notice that it has given you three options “Alerts”, “Updates” and “Events”.
- If you click on “Events” you will see the status of ongoing ‘Exports’ or transfers or other actions.
my btmp file is huge on linux, what do I do
my btmp file is huge on linux, what do I do
The /var/log/btmp file is one that tracks all of the login attempts on your machine. If it is huge it probably means someone is trying to brute force attack you computer.
the file is binary so you can not just view it, you have to use
#lastb|less
Most likely you will find that someone has been attempting to repeatedly hack your computer, consider setting up a firewall which limits the IP address that are allowed to login to your SSH port.
You could also install DenyHosts
#apt-get install denyhosts
One issue that can occur is that if you are getting attacked, the log size gets to large.
Most likely your logrotate.conf file has a /var/log/btmp entry in it. Update this file to rotate and compress the log file more frequently (see the logrotate documentation)
PHP Solution to http to https ajax call: No ‘Access-Control-Allow-Origin’ header is present on the requested resource
PHP Solution to http to https ajax call: No ‘Access-Control-Allow-Origin’ header is present on the requested resource
When submitting a form from an http:// site to an https:// via ajax, you will run into the following error in the Chrome console
XMLHttpRequest cannot load https://www.example.com. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://www.example.com' is therefore not allowed access
This problem can come about if your current url is http://www.example.com/ and you are using an ajax POST or GET request to the https://www.example.com site.
For example on http://example.com/login.php you might have some JQuery such as
$('div#login').load('https://example.com/loginform.php')
Or
$.post({url:'https://example.com/loginform.php' ,data: 'username=bob&password=pass123' ,success: function(data){ $('div#login').html('You are logged in') } })
To correct this, add the following PHP to the top of the loginform.php page. Note the HTTP_HOST variable which should make it so that if you are simply trying to access the https:// site using the exact same domain name you will not have to change the code
<?php header("Access-Control-Allow-Origin: http://$_SERVER[HTTP_HOST]"); ?>
Ubuntu Server Time Resetting
Ubuntu Server Time Resetting
We have a server that was having trouble resetting the date on the server to todays date and time, in the year 2020. It appeared that the problem happened randomly and in some cases it would happen and then go away. Here are some of the steps I went through to debug this.
My server has a daily 1:01 AM cronjob to the the date from another local server (to keep all of our servers in sync)
This command syncs the date with that server.
/usr/sbin/ntpdate -v my.localsever.com
Anytime I noticed the date off at 2020, when i would run this command and it would properly reset to the correct time, so it seems it has to be coming from somewhere other than the my.localserver.com
So I decide to try to pinpoint when this happened. Do to this I started a cron log, which dumps the date, every 30 seconds into a file, so I could look at that file to find out when the dates change
/bin/date >> /tmp/bin.date.log
Now, next time it happens I will have a history of the minute during which the issue happens and perhaps I can tie it to some process I have running.