Categories
Domains Manage Your Own Server

CloudFlare and SSH Connection Timeout

Switched one of our sites to CloudFlare DNS and in our code routines, we connect to the site via SSH by its domain as the host.

Apparently it kept timing out as we were connecting to the wrong IP resolved by CloudFlare DNS which wasn’t the real IP for our server at all.

So we had to switch to DNS Only at CloudFlare for the A record of the domain and everything is working correctly again.

It took us a while to figure it out. It’s a tricky one. 😉

Categories
eCommerce & Shopping Online PayPal & Ecommerce

PayPal IPN payment_status

We use the payment_status value in PayPal IPN to determine the outcome of a transaction. There are 6 possible values according to the transaction logs of one of my websites, out of a total of 1132 occurences:

  • Completed – 884
  • Reversed – 100
  • Refunded – 67
  • Canceled_Reversal – 66
  • Pending – 13
  • Denied – 2

For those who are new to PayPal IPN:

  • Completed = You got the money and you can ship the goods.
  • Reversed = The payment was reversed by the other party (NOT you) and you lost the money! e.g. A chargeback.
  • Refunded = The money was refunded to the buyer (probably by you).
  • Canceled_Reversal = The money was again returned to you after it was reversed previously.
  • Pending = You haven’t got the money yet but you probably will after fraud review was done by PayPal or after the eCheck clears.
  • Denied = PayPal denies a payment because god knows why and you don’t get the money.
Categories
Content / SEO Tips & Tutorials

How to write page title for SEO?

I have several writers who write content for my websites. One of the things they constantly have is that they come up with page titles that are not good enough. Sometimes it’s trivial but sometimes it does pose a siginficant problem with regards to SEO.

For example, in this article: http://www.bintley.com/blog/the-comprehensive-guide-to-choosing-the-right-short-range-airsoft-gun/

The title is so long with primary keywords pushed far to the end that they may probably never show up in Google search results.

I then asked him to use very specific keywords at the beginning of the title and mentioned that people would never search for phrases such as “the importance of” or “the comprehensive guide to”, etc.

Here’s my follow-up letter to his doubts regarding why and how:

For example, change

“The Comprehensive Guide to Choosing the Right Short Range Airsoft Gun”

to

“Find the Right Short Range Airsoft Gun”

or

“Short Range Airsoft Guns – Which one is right for me?”

I just confirmed with Google adwords keyword tool that the monthly search volume for a broad phrase of “comprehensive guide to” is so low that they are pretty much worthless and more so when combined with other keywords at the end yet you are using it as the first few words in the title of this article.

Check out this ranking factors correlation: http://www.seomoz.org/article/search-ranking-factors#metrics-6

The first few words in the page title plays the largest role / has the most impact for ranking a specific phrase in SE. Therefore, writing a very very specific keywords-first title is crucial in writing for the SE and web visitors. A title that doesn’t correctly stand for the content of the article or one that is vague or pretentious is a disaster. For instance, this article is by no means a Comprehensive Guide, so just stick to smaller words such as “How to”, “My Advice on” etc. and better not too long as they are taking precious space in the title, especially the leading part.

Categories
Anti Spam Tips & Tricks Domains Google Hacks, Cheats & Tips PHP Tips & Tutorials

Remove Gmail via Field and Add mailed-by & signed-by with PHP mail()

PHP mail() is a great function to easily send emails from your website server. If you have ever used it before in action, or are currently using mail() to send out emails from your website or application, chances are you would find Gmail to be very persistent in attaching a ‘via’ field to the from address of your messages to the recipient. If you are on a shared host or have multiple websites on a VPS, the ‘via’ field would be the domain of a whole different website from that of the sending domain, which makes you very uncomfortable.

So how to make the ‘via’ field disappear in Gmail messages sent from your PHP mail() function? How to make the ‘mailed-by‘ field and the ‘signed-by‘ field to be the email-sending domain rather than the server hostname?

How to make Gmail trust your messages sent from the mail() function?

Get rid of Gmail ‘via’ field for PHP mail() messages and make your domain show up in ‘mailed-by’ and ‘signed-by’

Here are what you need to do to make Gmail completely trusts your domain and your PHP mail() messages sent from it.

1. SPF and DKIM

Firstly, you would need to set an SPF record for the domain you are sending emails from and enable DKIM as well. These are primarily for identifying your messages against spam.

2. "From: [email protected]"

Secondly, make sure you are setting the “From: ” header to be an email address on the domain you are sending messages from. Don’t pretend to be someone else. Use “From: [email protected]” if you are sending the messages from abc.com, rather than anything else, such as [email protected], or [email protected], or whatever. If you want the recipient to reply to your Gmail email instead of your domain email, use the “Reply-To: ” header. “From: ” must always be the domain email that you are sending the email from.

3. "Return-Path: [email protected]"

Thirdly and most importantly, set the “Return-Path: ” header to be the same domain as that of the “From: ” header. Use the 5th parameter of the mail() function for this:

mail('[email protected]', 'Subject', "Message Body", $headers, '[email protected]')

So the Return-Path of this message would be “[email protected]yourdomain.com” (the email address immediately following the -f switch). The $headers parameter should contain all the necessary message headers. Make sure “From: ” is [email protected]yourdomain.com.

Now Gmail trusts all emails from yourdomain.com

After these steps and measures, Gmail should now completely trust your messages from yourdomain.com. The ‘via‘ field of your messages should be gone and the ‘mailed-by‘ field as well as the ‘signed-by‘ field should be correctly showing up as yourdomain.com.

Uploaded below is the screenshot of a message sent to my Gmail email from one of my websites (*ses.com) using the mail() function:

make Gmail trust your email

Both ‘mailed-by‘ and ‘signed-by‘ fields are correctly populated with the sending domain even though it is not the primary site nor hostname of the server that sends the email. The ‘via‘ field is also gone.

This site doesn’t have any SSL certificates installed.

Gmail is by far the best spam catcher of all email services so if they trust you, your emails sent by PHP mail() from yourdomain.com should look good in all other email inboxes. Our forum has also got a thread to cover this.

Thanks to Michael Gorven and Laura for the help.

Categories
Make Money Online vBulletin Tips

vBulletin: Paid Subscription Not Showing Up

I was trying to start a premium membership for Kavoir Backyard and after I have created a Paid Subscription profile, nothing shows up in user control panel nor at /backyard/payments.php.

As you can see from the thread I started in the official vBulletin forum for help, I have done everything necessary to create the subscription profile and it’s definitely active. But somehow, it simply doesn’t show up at all.

Subscription Manager

Paid Subscription profile

I see no “Paid Subscription” link in user control panel left sidebar nor any subscription order forms. The payments.php page says “Kavoir Backyard Webmaster Forum does not have any paid subscriptions available to which you can subscribe.”.

What’s wrong? What did I leave out? The solution!

Turned out it’s because I didn’t specify the payment details for Paid Subscriptions. You should use Payment API Manager to specify the payment API: Paid Subscriptions –> Payment API Manager.

paid subscription payment API

By default there’s NO active payment API and you have to explicitly select one such as PayPal and enter the details. Once it’s all configured and active, Paid Subscriptions link and premium membership order forms are correctly displayed to the registered users in the control panel.

Disappeared again after upgrade?

After upgrade, the paid subscription is disappearing again. To make it show up, just de-activate the payment method in Payment API Manager and re-activate it again by first setting Active to No and then back to Yes again (click Update twice).

Weird how things work in the world, huh.

Categories
Domains My Personal Reviews

Register.com Scam Review – Considering Them? Stop!

Update: After some communications with Register.com, I was able to acquire the transfer authorization code via their live chat support.

For people who are considering Register.com, I’ve got something new. Well probably not new but I just found it out myself the hard way how Register.com is a SCAM.

Sneaky Pricing at Register.com

I registered a .com with them a couple months ago at a bargain price of $2.95 (or so) and when I learned that the renewal price for the next year was like $38 / year, I said to myself, woahh, what an idiot must had I been registering this name with them in the first place?!

38 dollar  per year renewal price at Register.com

For people who are new to domains, you can get a .com name at almost any other registrars at no more than $10 / year (new registration or renewal), with much better control panel and functionalities.

The next thing I found myself doing was trying to get an authorization code so I could transfer it to another registrar. It wasn’t easy – I clicked around for about 5 minutes to find the tiny link at the bottom of the page where they would allow me to retrieve the auth code and guess what. After I clicked the link, they offered me a totally different price for renewing – $10 / year:

different renewal price for people who want to transfer away

What a douche.

And stupid.

Worst business practice ever.

Who else is offended by this moronic trick that they thought would do good to their sales?

It actually punishes loyal customers who take good faith in them in the first place yet rewards disloyal ones who are looking to get away from them.

What kind of business does that??!!

Apparently, I clicked “Continue Transfer” and requested the auth code.

Register.com Takes 7 Days to Review Your Request for an Auth Code

Turned out I couldn’t get my auth code at once. Unlike all (probably) other registrars that instantly sends you the transfer auth code upon request, Register.com sends it 7 days after request. And they only promised to review the request! They may end up NOT sending you the auth code at all at their discretion.

It was lucky of me who had found about this delay policy long before the renewal due date, otherwise I’d probably have to take one of the offers and renew another year with them should I want to keep the domain from dropping.

However, this isn’t the best part.

They declined my request for the auth code.

Yep. And this is their message addressed to me regarding my request for the auth code. Seemed I had some suspicious activity in my account and now I have to do a phone call to their customer service consultants at 1.888.734.4783 to get the auth code I need for my domain.

Dear Yang Yang,

You recently requested an auth code to transfer your “xxxxxxx.com” domain name.
Your request has been processed and at this time it has been declined due to recent suspicious activity in your account.

Register.com is committed to providing the most secure and reliable domain services for our customers. We have implemented specific security measures to help prevent unauthorized transfer of domains to another registrar.

The type of suspicious activity that could have caused your request to be declined includes:
-       Multiple failed attempts to login to customer’s account
-       Recent changes to the account holder’s name, email address, or login ID
-       Attempts to access the account over the phone without authorization
-       Recent changes to the accounts password
-       Domain name lock not removed
-       Recent changes to billing or credit card information

To receive your auth code, please call one of our customer service consultants at 1.888.734.4783.  They will confirm you to the account and then fulfill your request.

Thank You,

Sandy Ross
EVP, Customer Service
Register.com

Lucky of me again, this one domain with them wasn’t so very big a deal to me. I think I’ll just leave it un-renewed. It was well worth $3 bucks for finding out a thug registrar this way.

Register.com is now on my blacklist for all my future domain needs.

Now to the appalling part – I’m UNABLE to turn off the auto-renewal.

Obviously, I would want to turn off the auto-renewal of my domain or at the end of the registration cycle Register.com would bill my credit card again which is the last thing I want. I would rather delete or drop the domain than to be forced to continue paying them.

unable to turn off auto-renew at Register.com

There’s essentially no ‘No’ option for “Automatic SafeRenew Enabled” and the “Update” button is basically unclickable.

A credit card charge-back seems to be inevitable.

More Horror Stories with Register.com

Just Google for “Register.com Review” or “Register.com Scam” to see for yourself.

  1. http://www.hostingkids.com/host/register.com/
  2. http://www.dnforum.com/f557/register-com-scam-thread-18490.html
  3. http://www.webhostingstuff.com/review/Registercom.html
  4. http://www.whoishostingthis.com/hosting-reviews/register-com/
  5. http://www.ripoffreport.com/directory/register-com.aspx
  6. http://www.webhostingtalk.com/showthread.php?t=1163283
Categories
Content / SEO Tips & Tutorials Make Money Online WordPress How To

How to Create WordPress Widget Areas (Before and After Single Post)

Most WordPress themes such as those released by WooThemes come with ready to use widget areas only in sidebar and footer. They are missing out the most important areas of a blog for readership attention and actionable conversions. They are the areas immediately before single post content and immediately after it.

For example, a paragraph naturally flowing at the end of the post as if it’s part of the content would definitely grab the attention of your readers:

immediately after single post content

So How do We Create These 2 New Widget Areas?

Open functions.php and put in the follow snippet:

// This registers the widget area immediately before single post content
register_sidebar(array(
    'id' => 'before-single-post',
    'name' => 'Before Single Post',
    'description' => 'Widget area immediately before single post content',
    'before_widget' => '<div id="%1$s">',
    'after_widget' => '</div>',
    'before_title' => '<h2>',
    'after_title' => '</h2>'
));

// This registers the widget area immediately after single post content
register_sidebar(array(
    'id' => 'after-single-post',
    'name' => 'After Single Post',
    'description' => 'Widget area immediately after single post content',
    'before_widget' => '<div id="%1$s">',
    'after_widget' => '</div>',
    'before_title' => '<h2>',
    'after_title' => '</h2>'
));

And then open single.php or content-single.php or whatever it is that is the single post template file of your theme. Find the_content() and put before and after it the dynamic_sidebar() function so the widget content is displayed. You will very probably have something like this in the end:

<div id="before-single-post">
	<?php dynamic_sidebar('before-single-post'); ?>
</div>

<?php the_content(); ?>

<div id="after-single-post">
	<?php dynamic_sidebar('after-single-post'); ?>
</div>

Done.

Only 2 files (functions.php to register the widget area and one other file where you intend the widget content to be displayed) that need to be edited and updated to add new widget areas.

Adding Stuff to the Widget Areas

Now if you go to Appearance –> Widgets in the WordPress backend console, you would see 2 extra widgetized areas:

widget areas created

Try adding a widget there (probably the text widget) and see how it looks so you can style it for better attention attraction.

Categories
Affiliate Programs Internet Tools Microsoft Windows PDF Tips & Tutorials

Software to Convert PDF to MS Word Format

PDFZillaOne of my friends has created a very useful piece of software to do PDF to Word conversions. I find his product a breeze to use so I’m recommending it to my fellow readers. Hopefully it would be of some use to you guys.

Differences between PDF and Word

PDF (.pdf) and MS Word (.docx, .doc) are probably two of the most popular digital file formats for readable documents that are intended for humans. The major difference between the two is that MS Word can be easily edited while PDF is a finalized container of postscript data that are essentially non-editable vector information. Although you can read text in a PDF document, they are actually vector graphics rather than plain text such as those in a MS Word document.

This difference explains why people would want to convert a PDF document to a Word one as they can then make changes to the content and make further use of it. A lot of online tools and desktop applications exist for this purpose, such as PDFZilla, which provides easy procedures to imitate an OCR process to scan and analyze the supplied PDF document and convert it into high quality editable Word, in just 3 clicks. A batch mode is also available for people who want to convert a large number of PDF documents.

How to convert PDF to Word?

This is as simple as 3 clicks. Here are the steps:

  1. Head to http://www.pdfzilla.com and download the latest version of the PDF to Word software.
  2. Run PDFZilla.
  3. Add a PDF file by clicking the big green plus / add button.
  4. Choose the destination format as Word Files (*.doc).
  5. Click “Start Converting Now” button.

Okay, that’s like 8 clicks, but you got have some clicks…😉

Selling PDFZilla for 75% Commission

Lots of my readers are webmasters, so I’m also thinking this might be a good chance to earn some bucks by promoting this software as it’s rather generous of my friend’s offer – 75% affiliate commission. It’s very rare to come by a product of such usability yet of such high commission rate. Definitely much better than those ClickBank hit and run. Think about it.

Categories
Coupons and Promo Codes eCommerce & Shopping Online Kavoir & Whatever Magento Tips PayPal & Ecommerce

Avalanche Coupon Code (Magento Theme)

Avalanche Magento themeJake (fastdivision.com) was kind enough to offer me a coupon code so that my readers can enjoy the Avalanche Magento theme at 15% discount. In case you haven’t read my review of the Avalanche theme, it is the current sensation going on in the Magento-sphere. In the shortest words, I think it’s the best Magento theme because of 3 reasons:

  1. It is built by someone who’s insanely good at the website stuff (HTML, CSS, PHP, design, user experience, etc.). and who pursues perfection.
  2. It has unparalleled support – read my review and you will know. Better yet, join the club to experience yourself!
  3. The theme is very very good (best is a pretty strong word and I’ll leave it to you) in all aspects I can think of AND it’s being pushed to be better every day. Read Jake’s blog. He’s just finished working on and released a mobile version of Avalanche.

Coupon Code for Avalanche

OK here’s the coupon part. If you have made up your mind to purchase Avalanche, use this coupon code when checking out:

KAVOIR
Click To Open/Copy

Just enter it in the “Enter coupon code” text box at the end of the checkout page:

Avalanche coupon code for 15% off

And you will have the 15% discount off the normal pricing of $199 and $399 which would then be $169.15 and $339.15 respectively. Always nice to save a few bucks.

Enjoy!

Categories
Coupons and Promo Codes Domains

Cheapest GoDaddy Promo Code – $0.99 / Year .COM

Just found out some dirt cheap GoDaddy coupon code for new .com registrations:

INDY500 - $0.99 for 1st year
FLOWERS - $1.49 for 1st year
leap149 - $1.49 for 1st year

Which enables you to get any new .com name for just $0.99 – $1.49 for the first year. Not sure if you can claim it more than once per account but I believe one can’t. I used it to quick register one .com domain and never tried it a second time.

This is probably the cheapest GoDaddy coupon code ever for new domain registrations.

$2.95 / year .COM from GoDaddy

Another tip for getting cheap .com names from GoDaddy is this one:

http://www.godaddy.com/domains/search-danica.aspx?isc=goft006ec

It gives you the opportunity to register any new .com names for as many years as you want at just $2.95 per year (plus ICANN fee). That’s right, for just $15, you could have a .com name for 5 years. At normal pricing, $15 would only get you one or two years.

I found out this one by discovering one of the GoDaddy AdWords ads. They give amazing offers to traffic from AdWords campaigns.

In my opinion, though $1.49 may seem a lot cheaper than $2.95, I’d still opt to go with the $2.95 / year route because I can register multiple years. $1.49 would just get you locked in and then pay normal next year and so on. GoDaddy doesn’t release many renewal coupon codes as it does new registration codes.

$7.49 / year .COM renewal code

Zine10

This code gives you $7.49 / year renewal price for .com names at GoDaddy. It’s said to have been working for at least the last 2 years so hopefully it would go on working.