Friday, June 13, 2014

How to Properly Move Your Blog from WordPress.com to WordPress.org

Ok so you’ve been a user of WordPress.com for a while now. Things have been pretty nice so far, but you’ve come to a point where you’re ready to go beyond WordPress.com. You want to install plugins and customize your themes. You want to really start monetizing your site and be in full control. Well you are at the right place. While today’s article won’t discuss the differences between WordPress.com and WordPress.org, we will take a look at a question that a lot of users have been asking us: how to move your existing WordPress.com blog to a self-hosted WordPress.org site. In this step by step tutorial, we will show you how to properly move your blog from WordPress.com to WordPress.org. We will cover how to transfer all of your WordPress.com content to a WordPress.org site (yes this include images). We will also cover how to keep all of your search engine rankings along with how to redirect your existing users to your new site. Are you ready? Let’s start transferring your WordPress.com blog over to your new self-hosted site.

Things You Need Before You Start

You will need to have a domain name and a good web hosting company that knows WordPress. We highly recommend that you use Bluehost because they will give you a free domain and 50% off their hosting plan (special for WPBeginner users).Bluehost is also an officially recommended hosting provider of WordPress.
If your WordPress site already has a custom domain name, then don’t worry. We will cover that as well. Lastly, you will need access to your WordPress.com account, so you can easily move all of your posts, pages, images, comments, and other data over to your self-hosted WordPress site.
Before you get started with this migration tutorial, we want to let you know that we can migrate your site for FREE as part of our Free WordPress Blog setup service. This will be less hassle for you, but if you are someone who likes learning and doing things yourself, then follow our step by step tutorial below.

Step 1: Exporting Data from WordPress.com

Sign in to your WordPress.com account and go to your blog’s Dashboard. Click on Export under Tools menu.

Clicking on the Export tool will take you to a new page where you will be asked to choose between Free or Guided Transfer.

Choose the Free option by clicking on Export. On the next screen you will be asked which data you want to export. Select “All Content” and press the Download Export File button. An XML file will be downloaded in your computer which will contain all of your posts, pages, images, comments, custom fields, categories, tags, navigation menus and other information.

Step 2: Setting up WordPress

Now that you have exported your WordPress.com data, the next step is to set up a fresh WordPress install on your web hosting. WordPress is very easy to install, and it only takes a few clicks. We have a step-by-step tutorial on how to install WordPress within 5 minutes. Once you have installed WordPress, it is time to import your content into your new self-hosted WordPress website.

Step 3: Importing Content into Self Hosted WordPress Site

To import your old content from WordPress.com to your new site, you need to click on Tools » Import option in your self-hosted WordPress.org dashboard.

Next click on WordPress. You will be asked to install the WordPress Importer plugin. Once you install it, activate and run the importer plugin. It will take you to a screen where you will be asked to upload your WordPress.com XML file that you downloaded in step 1 of this tutorial.

Note: if your file size is larger than 2MB, then you have two options. One is to ask your web hosting company to increase that limit temporarily, so you can get on with the process. The other option would be to split your file by using a WXR file splitter.
When you start importing, you will have the option of assigning your old content to a current user or create a new user. You’ll also have the option of importing your old attachments (you want to make sure that you check this box to ensure that your images are imported).
If you took the optional step of exporting your old links/blogroll, then you should take this time to import them. The process is pretty much the same as above. Go to the Import page from the Tools tab, click on Blogroll, install the plugin, choose the location of the exported link/blogroll file and import it.

Step 4: Setting your WordPress.com blog to private

The final step would be to set your WordPress.com blog to private. If you don’t want to redirect your old users to your new site, then go ahead and follow this step. Go to the Reading page under Settings tab, from your WordPress.com Dashboard and select the last option, “I would like my blog to be private, visible only to users I choose”.

Attention: If you have been writing for sometime, and you have a loyal audience, then it does not make sense to leave them hanging. Furthermore, if your blog has been out there for a while, then chances are that it is indexed in Google and other search engines. You should keep all the search engine juice and easily redirect your old users to your new blog.

Step 5: Redirecting Visitors and Preserving SEO

Redirecting users to new location with a 301 header is the standard solution to keep search rankings while moving a site from one location to another. Since you don’t have access to .htaccess on WordPress.com, you can not make any changes by yourself to retain search engine rankings. However, WordPress.com offers a paid upgrade, Offsite Redirect, which provide this functionality. Go to WordPress.com blog’s dashboard and click on the Store menu item. The upgrade you are looking for is called Offsite Redirect. At the time of writing this tutorial, this update was reasonably priced at $13 USD per year. This upgrade provides 301 redirect which allows your site’s visitors and search engines to be automatically redirected to your new site.

Some of you will ask how long should I keep paying for this Offsite redirect feature? The answer is for as long as you want to. However, we personally think that 2 years would be enough time for your old users to memorize your new domain name :)
If you are changing domains, then another thing you want to do is update all in post URLs. If you ever inter-linked your posts, then those links have to be updated. Use our article on how to update URLs when moving your WordPress site.

Frequently Asked Questions (FAQs)

We wrote this article in January 2013 and since then we’ve received tons of great questions. A lot of which we’ve answered via email or in comments, so thought it would be nice to compile it at one place where everyone can see them.
What happens with my WordPress.com Subscribers?
Thankfully, WordPress.com allows you to migrate your subscribers with one condition. You must use Jetpack plugin which adds the same subscribe functionality that you had at WordPress.com. Once you install and activate the Jetpack plugin, you would need to contact the WordPress.com team and ask them to migrate the subscribers for you. Our hope is that in the later versions of Jetpack, this will become easier and users will be able to do it themselves.
Can you help me transfer from WordPress.com to WordPress.org for FREE?
Absolutely. We offer migration from WordPress.com as part of our free WordPress blog setup service. If you need our assistance, then simply signup. It’s free :)
What are the costs of switching to WordPress.org?
WordPress is free. However, there are some minimal web hosting costs. We recommend that you read this article on: Why is WordPress free? What are the costs and what is the catch?
Will my images break?
No they will not. When you transfer using the import file, all attached images are downloaded and the link is updated. However there is one caveat that we noticed. If your image URL starts with files.wordpress.com, then they will not be converted. If you notice that the image URL has not changed and still points to WordPress.com, then we recommend that you use import external images plugin, and it will take care of that.
I registered my domain through WordPress.com, can I still move?
Yes you can. WordPress believe in empowering users and giving them full control of their content. If you already have a domain name through WordPress.com, then all you need is a web hosting account. We recommend that you setup with Bluehost or any of these other WordPress hosting providers. During the signup phase, you will be asked do you have a domain or want to register a new one. Simply select the option that I have a domain name, and insert the domain that you registered at WordPress.com. Next thing you would have to do is change the nameservers to point to the hosting provider. We’re able to assist with this as part of our free setups service. You can also ask your web hosting provider for support.
Will my website go down when I switch?
If you do it correctly, then NO. The method we’ve suggested above will ensure that your website never goes down. If you’re worried, then know that we are here to help. You’re welcome to use our free setups service at anytime.
We hope that you found our guide on switching from WordPress.com to self-hosted WordPress.org to be helpful. If you have any questions, then please let us know by leaving a comment below.


Thursday, June 12, 2014

Beginner’s Guide to Preventing Blog Content Scraping in WordPress

If you write original content day in and day out, you already are aware of the fact that your posts will end up on bunch of SPAM sites within a few days sometimes even few minutes. Some users even noted that the site with stolen content outranked the original post. It is very frustrating as a website owner to see that someone is stealing your content without permission, monetizing it, outranking you in SERPs, and stealing your audience. Content Scraping is a huge problem these days considering that it is so easy for someone to steal your content. In this article, we will cover what is blog content scraping, how to catch content scrapers, how to deal with content scrapers, how you can reduce and prevent content scraping, how to take advantage of content scraping, how to make money from content scrapers, and is content scraping ever good?

What is Blog Content Scraping?

Blog content scraping is an act usually performed with scripts that extract content from numerous sources and pulls it into one site. It is so easy now that anyone can install a WordPress site, put a free or commercial theme, and install a few plugins that will go and scrape content from selected blogs, so it can be published on their site.

Why are they Stealing my Content?

Some of our users have asked us why are they stealing my content? The simple answer is because you are AWESOME. The truth is that these content scrapers have ulterior motives. Below are just few reasons why someone would scrape your content:
  • Affiliate commission – There are some dirty affiliate marketers out there that just wants to exploit the system to make few extra bucks. They will use your content and other’s content to bring traffic to their site through search engine. These sites are usually targeted towards a specific niche, so they have related products that they are promoting.
  • Lead Generation – Often we see lawyers and realtors doing this. They want to seem like industry leaders in their small communities. They do not have the bandwidth to produce quality content, so they go out and scrape content from other sources. Sometimes, they are not even aware of this because they are paying some scumbag $30/month to add content and help them get better SEO. We have encountered quite a few of these in the past.
  • Advertising Revenue – Some folks just want to create a “hub” of knowledge. A one-stop-shop for users in a specific niche. If I had a penny for every time someone has done this with our content, then we would have a few hundred pennies. Often we notice that our site content is being scraped. The scraper always replies, I was doing this for the good of the community. Except the site is plastered with ads.
These are just a few reasons why someone would steal your content.

How to Catch Content Scrapers?

Catching content scrapers is a tedious task and can take up a lot of time. The are few ways that you can utilize to catch content scrapers.
Search Google with Your Post Titles
Yup that is as painful as it sounds. This method is probably not worth it specially if you are writing about a very popular topic.
Trackbacks
If you add internal links in your posts, you will notice a trackback if a site steals your content. This way is pretty much the scraper telling you that they are scraping your content. If you are using Akismet, then a lot of these trackbacks will show up in the SPAM folder. Again, this will only work if you have internal links in your posts.
Webmaster Tools
If you use google webmaster tools, then you are probably aware of the Links to your site page. If you look under “Traffic”, you will see a page that says Links to your site. Chances are your scrapers will be among the top ones there. They will have hundreds if not thousands of links to your pages (considering that you have internal links).
FeedBurner Uncommon Uses
If you have setup Feedburner for your WordPress blog, then you can see some uncommon uses. In the Analyze Tab under Feed Stats, you will see “Uncommon Uses”. There you will see a list of sites.

How to Deal with Content Scrapers

There are few approaches that people take when dealing with content scrapers. The Do Nothing Approach, Kill them all approach, Take Advantage of them approach.
The Do Nothing Approach
This is by far the easiest approach you can take. Usually the most popular bloggers would recommend this because it takes A LOT of time fighting the scrapers. This approach simply recommends that “instead of fighting them, spend your time producing even more quality content and having fun”. Now obviously if it is a well-known blog like Smashing Magazine, CSS-Tricks, Problogger, or others, then they do not have to worry about it. They are authority sites in Google’s eyes.
However during the Panda Update, we know some good sites got flagged as scrapers because google thought their scrapers were original content. So this approach is not always the best in our opinion.
Kill them all Approach
The exact opposite of the “Do Nothing Approach”. In this approach, you simply contact the scraper and ask them to take the content down. If they refuse to do so or simply do not reply to your requests, then you file a DMCA (Digital Millennium Copyright Act) with their host. In our experience, majority of the scraping websites do not have a contact form available. If they do, then utilize it. If they do not have the contact form, then you need to do a Whois Lookup.
You can see the contact info on the administrative contact. Usually the administrative, and technical contact is the same. The whois also shows the domain registrar. Most well-known web hosting companies and domain registrars have DMCA forms or emails. You can see that this specific person is with Hostgatorbecause of their nameservers. HostGator has a form for DMCA complaints. If the nameserver is something like ns1.theirdomain.com, then you have to dig deeper by doing reverse IP lookups and searching for IPs.
You can also use a third party service for DMCA.com for takedowns.
Jeff Starr in his article suggest that you should block the bad guy’s IPs. Access your logs for their IP address, and then block it with something like this in your root .htaccess file:
1Deny from 123.456.789
You can also redirect them to a dummy feed by doing something like this:
1RewriteCond %{REMOTE_ADDR} 123\.456\.789\.
2RewriteRule .* http://dummyfeed.com/feed [R,L]
You can get really creative here as Jeff suggests. Send them to really large text feeds full with Lorem Ipsum. You can send them some disgusting images of bad things. You can also send them right back to their own server causing an infinite loop which will crash their site.
The last approach that we take is to take Advantage of them.

How to Take Advantage of Content Scrapers

This is our approach of dealing with content scrapers, and it turns out quite well. It helps our SEO as well as help us make extra bucks. Majority of the scrapers use your RSS Feed to steal your content. So these are some of the things that you can do:
  • Internal Linking – You need to interlink the CRAP out of your posts. With theInternal Linking Feature in WordPress 3.1, it is now easier than ever. When you have internal links in your article, it helps you increase pageviews and reduce bounce rate on your own site. Secondly, it gets you backlinks from the people who are stealing your content. Lastly, it allows you to steal their audience. If you are a talented blogger, then you understand the art of internal linking. You have to place your links on interesting keywords. Make it tempting for the user to click it. If you do that, then the scraper’s audience will too click on it. Just like that, you took a visitor from their site and brought them back to where they should have been in the first place.
  • Auto Link Keywords with Affiliate Links – There are few plugins like Ninja Affiliate and SEO Smart Links that will automatically replace assigned keywords with affiliate links. For example: HostGator, StudioPress, MaxCDN, Gravity Forms<< These all will be auto-replaced with affiliate links when this post goes live.
  • Get Creative with RSS Footer – You can either use the RSS Footer or WordPress SEO by Yoast Plugin to add custom items to your RSS Footer. You can add just about anything you want here. We know some people who like to promote their own products to their RSS readers. So they will add banners. Guess what, now those banners will appear on these scraper’s website as well. In our case, we always add a little disclaimer at the bottom of our posts in our RSS feeds. It simply reads like “How to Put Your WordPress Site in Read Only State for Site Migrations and Maintenance is a post from: WPBeginner which is not allowed to be copied on other sites.” By doing this, we get a backlink to the original article from scraper’s site which lets google and other search engines know we are authority. It also lets their users know that the site is stealing our content. If you are good with codes, then you can totally get nuts. Such as adding related posts just for your RSS readers, and bunch of other stuff. Check out our guide to completely manipulating your WordPress RSS feed.

How You Can Reduce Blog Content Scraping and Possibly Prevent It

Considering if you take our approach of lots of internal linking, adding affiliate links, rss banners and such chances are that you will reduce content scraping to good measure. If you take Jeff Starr’s suggestion of redirecting content scrapers, that too will stop those scrapers. Aside from what we have shared above, there are a few other tricks that you can use.

Full vs. Summary RSS Feed

There has been a debate in the blogging community whether to have full RSS feed or summary RSS feed. We are not going to go into much details about that debate, however one of the PROS of having a Summary Only RSS feed is that you prevent content scraping. You can change the settings by going to your WordPress admin panel and going under Settings » Reading. Then change the setting For each article in a feed show: Summary.
Note: We have full feed because we care more about our RSS readers than the spammers.

Trackback SPAM

Trackbacks and Pingbacks definitely had great uses however, they are now constantly being abused. Often themes display trackbacks and pingbacks under or among the comments. This gives the spammer an incentive to scrape your site and send trackbacks. If you mistakenly approves it, then they get a backlink and mention from your site. Here is how you can disable Trackbacks on all future posts. Here is an article that will show you how to disable trackbacks and pings on existing WordPress posts as well.

Is Content Scraping Ever Good?

It can be. If you see that you are making money from the scraper’s site, then sure it can be. If you see a lot of traffic from a scraper’s site, then it can be. In most cases however, it is not. You should always try to get your content taken off. But you will realize as your blog gets larger, it is almost impossible to keep track of all content scrapers. We still send out DMCA complaints, however we know that there are tons of other sites that are stealing our content that we just cannot keep up with.
What are your thoughts? Do you use any other mechanics to prevent content scraping? Would love to hear your thoughts.

How to Fix the Internal Server Error in WordPress

If you have been surfing the web for more than a year, then you probably have seen the HTTP 500 Internal Server Error at least a few times. Internal Server Error is one of the common WordPress errors that can put a WordPress beginner in panic mode. Panic is the worst reaction you can have. Take a deep breath and know that others before you have had this issue as well. We have fixed errors like the internal server error, error establishing database connection, white screen of death, and others many times for our users. We can assure you that they are all fixable. It just requires a little bit of patience. In this article, we will show you how to fix the internal server error in WordPress by compiling a list of all possible solutions in one place.

Why do you get Internal Server Error in WordPress?

Internal server error is not specific to WordPress, and it can happen with anything else running on your server as well. Due to the generic nature of this error, it does not tell the developer anything. Asking how to fix an internal server error is like asking your doctor how to fix the pain without telling them where the pain is. Having that said, internal server error in WordPress is often caused by plugin and/or theme functions. Other possible causes of internal server error in WordPress that we know of are: corrupted .htaccess file and PHP memory limit. We have also heard internal server error only showing up when you are trying to access the administrator area while the rest of the site works fine.
Lets take a look at how to go about troubleshooting the internal server error in WordPress.

Checking for Corrupt .htaccess File

The first thing you should do when troubleshooting the internal server error in WordPress is check for the corrupted .htaccess file. You can do so by renaming your main .htaccess file to something like .htaccess_old. To rename the .htaccess file, you will need to login to your site using the FTP. Once you are in, the .htaccess file will be located in the same directory where you will see folders like wp-content, wp-admin, and wp-includes.
Once you have renamed the .htaccess file, try loading your site to see if this solved the problem. If it did, then give yourself a pat on the back because you fixed the internal server error. Before you move on with other things, make sure that you go to Settings » Permalinks and click the save button. This will generate a new .htaccess file for you with proper rewrite rules to ensure that your post pages do not return a 404.
If checking for the corrupt .htaccess file solution did not work for you, then you need to continue reading this article.

Increasing the PHP Memory Limit

Sometimes this error can happen if you are exhausting your PHP memory limit. Use our tutorial on how to increase PHP memory limit in WordPress to fix that.
If you are seeing the internal server error only when you try to login to your WordPress admin or uploading an image in your wp-admin, then you should increase the memory limit by following these steps:
  1. Create a blank text file called php.ini
  2. Paste this code in there: memory=64MB
  3. Save the file
  4. Upload it into your /wp-admin/ folder using FTP
Several users have said that doing the above fixed the admin side problem for them.
If increasing the memory limit fix the problem for you, then you have fixed the problem temporarily. The reason why we say this is because there has to be something that is exhausting your memory limit. This could be a poorly coded plugin or even a theme function. We strongly recommend that you ask your WordPress web hosting company to look into the server logs to help you find the exact diagnostics.
If increasing the PHP memory limit did not fix the issue for you, then you are in for some hard-core trouble shooting.

Deactivate all Plugins

If none of the above solutions worked for you, then this error is most likely being caused by a specific plugin. It is also possible that it is a combination of plugins that are not playing nice with each other. Sadly, there is no easy way to find this out. You have to deactivate all WordPress plugins at once.
Follow the following tutorial on how to deactivate all WordPress plugins without WP-Admin.
If disabling all plugins fixed the error, then you know it is one of the plugins that is causing the error. Simply go through and reactivate one plugin at a time until you find the one that caused the issue. Get rid of that plugin, and report the error to the plugin author.

Re-uploading Core Files

If the plugin option didn’t fix the internal server error, then it is worth re-uploading the wp-admin and wp-includes folder from a fresh WordPress install. This will NOT remove any of your information, but it may solve the problem in case any file was corrupted.

Ask your Hosting Provider

If nothing works, then you need to get in touch with your hosting provider. By looking at the server logs, they should be able to get to the bottom of things.
These are all the possible solutions that may fix the internal server error problem in WordPress. Did any of the above solutions fixed the problem for you? If so, then please let us know in the comments. Did you encounter the internal server error issue in the past? how did you fix it? If you know of a fix that is not listed in the article above, then please contribute in the comments below. We will make sure to keep the article up to date with any new advice from the users.


How to Install WordPress on your Windows Computer Using WAMP



Did you know that you can install WordPress on your personal computer for learning and testing purposes. The process of installing WordPress on your personal computer is also known as setting up a local server environment or localhost. Often theme designers and plugin developers install WordPress on a local server environment to speed up their development process. An average user can use the local server environment to test plugins and/or make changes to the site before making it live for their audiences. In this article, we will show you how to install WordPress on your Windows computer using WAMP.

Note: If you install WordPress locally on your computer, then the only person who can see that site is you. If you want to have a live WordPress site available to the public, then you need to have a Domain and WordPress Web hosting. We recommend that you follow this guide on how to install WordPress.


What is WAMP?

WAMP or WampServer is a compilation of Apache web server, PHP and MySQL bundled for Windows computers. Basically, you need WAMP to setup your own local server environment and install WordPress on Windows. There are other clients for Windows such as XAMPP, but we use and recommend WAMP. It is free and easy to use.

Installing Wampserver on your PC

First thing you need to do is go to WampServer website and download the latest WampServer. You will be presented with various options on their download page. Simply choose the one that applies to your Windows (64-bit or 32-bit). When in doubt, select the 32-bit version because it will work on 64-bit versions of Windows.
Once you have downloaded WampServer, run the installation program and follow on-screen instructions. At one point during the installation, WampServer will ask for the location of the default web browser. By default it will use Internet Explorer, but you can change that to Google Chrome or Firefox by locating the browser in Program Files.
Once you are done with the installation, launch WampServer.

Setting Up a Database for WordPress

WampServer comes with phpMyAdmin, a web based application to manage MySQL databases. Click on the Wampserver icon in windows taskbar and then click on phpmyadmin.
phpMyAdmin will open in a new browser window. Click on Databases in phpmMyAdmin to create a new database for WordPress. Choose a name for your database and click on Create button.


Installing WordPress on Windows with WAMP

Download a copy of WordPress from WordPress.org. Extract the zip file and copy the wordpress folder. Go to C:wampwww and paste wordpress folder there. You can rename the wordpress folder to anything you want for example mysite, wpbeginner, etc. For the sake of this tutorial, we renamed our wordpress directory to mysite. Now open a web browser and go to:
http://localhost/mysite/
WordPress will inform you that it can not find a wp-config.php file. Click on theCreate a Configuration File button to create it.

\On the next screen, you need to provide your database information. The database name will be the one that you selected. In our case, we called it test_db.
Please note that your default database username will be root and leave the password blank. Click on the submit button and WordPress will create a configuration file for you.
After this you will see a screen informing you that WordPress has successfully created the configuration file, and you can proceed with the installation. Click onRun Install button.
On the next screen, fill out the installation form. You need to provide a title for your website, choose an admin username and password, and provide admin email address. Finally press the Install WordPress button.
WordPress will quickly run the installation and create database tables. Once done, you will see a success message after the installation. You can then proceed to your WordPress by clicking on the Log in button.

Troubleshooting WAMP Skype Error

If you have Skype installed and running then WampServer may not be able to work properly due to a conflict with Skype. The conflict is caused by both Apache and Skype using the same port 80. There is a simple fix for this problem. Open Skype and go to Tools » Options. Click on Advanced and then Connections. Uncheck the box that says Use port 80 and 443 as alternatives for incoming connections. Save options and restart Skype.


Enabling Pretty Permalinks in WAMP

Pretty permalinks will not work by default on your local server environment. All your URLs will look like localhost/mysite/?p=18. If you go to Settings » Permalinks and use one of the other opttions, then it will show you “page not found” errors. We have already written about a solution here that will show you how to enable custom permalinks in WAMP.

Migrating from WAMP to Live

After numerous request via twitter, facebook, email, and comments in this post, we have written a guide on how to move WordPress from WAMP local server to a live site. Hopefully you guys will find it helpful when you are ready to deploy your local site to production.
We hope that this article helped you install WordPress on your Windows computer using WAMP. Having a local server environment is great for learning and testing purposes. Remember, if you want to run a blog for other people to see, then you do not need to install WordPress on your computer. You need to install WordPress on a web hosting provider. If you have any questions, then please feel free to ask in the comments below.