WPBeginner » Tutorials: How to Add Pinterest “Pin It” button in your WordPress Blog

January 27th, 2012

Recently while monitoring our blog stats, a new traffic source was popping up enough for us to notice. This traffic source was Pinterest. We started using the platform and saw great potential in it therefore we have added it on List25. In this article, we will show you how to add the Pinterest “Pin It” button to your WordPress blog.

Pinterest Buttons

First thing you need to do is paste the following script in your footer.php file right before the body close tag.

<script type="text/javascript">
(function() {
    window.PinIt = window.PinIt || { loaded:false };
    if (window.PinIt.loaded) return;
    window.PinIt.loaded = true;
    function async_load(){
        var s = document.createElement("script");
        s.type = "text/javascript";
        s.async = true;
        s.src = "http://assets.pinterest.com/js/pinit.js";
        var x = document.getElementsByTagName("script")[0];
        x.parentNode.insertBefore(s, x);
    }
    if (window.attachEvent)
        window.attachEvent("onload", async_load);
    else
        window.addEventListener("load", async_load, false);
})();
</script>

Once you have done that, you can add the following code in your single.php file at a location of your choice:

<?php $pinterestimage = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'full' ); ?>
<a href="http://pinterest.com/pin/create/button/?url=<?php echo urlencode(get_permalink($post->ID)); ?>&media=<?php echo $pinterestimage[0]; ?>&description=<?php the_title(); ?>" class="pin-it-button" count-layout="vertical">Pin It</a>

The code above is basically pulling your Featured Image, the title of your post as description, and the URL of the post. It is designed for the vertical share button. If you want to put the horizontal share button, simply change count-layout parameter to horizontal.

We hope that this will help. P.S. if you are on Pinterest then please follow Syed Balkhi

How to Add Pinterest “Pin It” button in your WordPress Blog is a post from: WPBeginner which is not allowed to be copied on other sites.


Quick Online Tips (QOT): Best Way to Find All Broken Links on WordPress Blogs

January 27th, 2012

Broken Links are bad for SEO. What is the best way to find broken links on your WordPress blog? There are many broken link checkers which will let you find broken links, and many paid SEO reports also which will help you identify broken links, but in WordPress it is easier.

I have been using the amazing Broken Links Checker plugin for quite some time since Panda updates became famous and it has helped us find and fix all broken links on our website.

Check Broken Links

Few months back, the first time we used the plugin it took several hours as it scanned across our entire site and you could continue to refresh and see how many links were broken and how many were redirects. Since over last 7 years, this was the first time we checked broken links in such a comprehensive way, nearly 10% of outbound links were broken!

broken links

This was a huge exercise to fix all links in thousands of posts, but the interface integrates very well in the WordPress admin and easily allows you to Edit url, unlink text or mark the url not broken.

Broken Links

There are many options about to optimize as per your schedule, with many other custom options. But as I continued to fix these urls, I realized it would take many weeks to fix up the entire site. The plugin meanwhile also offered a quick and powerful way to nofollow all such links and even add a CSS strikethrough on all broken links so visitors would not click through these broken 404 links.

fix broken links

This is a highly recommended plugin for all WordPress bloggers. Broken links are very bad for SEO and this is a very powerful tool to fix all broken urls in few clicks. Try it out and tell us how many broken urls did you find on your WordPress blog?

Related articles you might like ...

Otto on WordPress: Using SFC? Got an email from Facebook?

January 26th, 2012

Some people have been forwarding me this email message that they received from Facebook:

We currently detect that your app is using the old JavaScript SDK (FeatureLoader.js). This library will no longer work for authentication on February 1st, 2012 since it does not support OAuth 2.0. In May, we announced that all apps on Facebook need to support OAuth 2.0 by October 1st, 2011. Please upgrade to the new JavaScript SDK by February 1st, 2012 to avoid any disruption of service to your app.

The Simple Facebook Connect plugin has not used the FeatureLoader.js script since before version 1.0, which was released 5 months ago. Version 1.2 of SFC fully integrated OAuth 2.0 authentication, and it was released 5 weeks ago.

So if you’re getting this email from Facebook, upgrade SFC to the latest version. Problem solved.


WordPress Tavern: Interview With ManageWP Owner Vladimir Prelovac

January 26th, 2012

ManageWP is a new service that aims to make managing multiple websites as easy as possible. They’ve recently opened their doors to the public and Vladimir Prelovac was kind enough to take some time out of his schedule to answer a few questions I had. Enjoy!

Is ManageWP a webhosting company or simply a means of managing websites that are hosted elsewhere?

We are not a webhosting company, as ManageWP provides an efficient way to manage any number of websites that are hosted on your own servers, but we do offer something new and unique to the WordPress community: one dashboard for all their websites no matter where they are hosted. This ensures that our users maintain total control over their websites while also ensuring that they can continue to expand, without restriction, far into the future.

ManageWP Dashboard After I Added The WPTavern Website

What was the idea or inspiration behind creating ManageWP?

As with all plugins I have developed, ManageWP was created out of the pure need to solve a problem. The problem here was having to do repetitive tasks — like updating and maintaining your sites (something computers and Internet services are supposed to be good at).

As you surely know, managing numerous WordPress sites can be somewhat time consuming. Add several WordPress sites into the mix, and you quickly become a slave to your CMS. I wanted to simplify the process, so that was when ManageWP became reality.

What are some of the things going on behind the scenes to make ManageWP function like a well oiled machine?

It requires a tremendous amount of effort by all of our team members. That’s the first thing that springs to mind. It’s not easy to create and maintain a service this complex, one which also remains in sync with the WordPress development cycle, all while having it work with thousands of different WordPress setups and with thousands of different server/hosting configurations.

It’s not an easy job. But we also have no intention of stopping anytime soon!

Options To Schedule A Backup For A Particular Site

What are some of the benefits of using ManageWP versus using WordPress Multisite?

The most notable benefit is ManageWP’s ease of us. While being a good idea on paper, WordPress Multisite demands a certain level of technical knowledge to install, manage, and maintain. It also takes time, time which many people find valuable. And while Multisite might be good enough for some people, we always want to offer our users so much more value and time-saving functionality.

And we differentiate ourselves by providing many awesome features:

  • you can set up and monitor fully automated backups for all of your websites from one location, along with being able to specify exactly where you want those backups stored;
  • you can use ManageWP to monitor your website’s up-time;
  • you can use ManageWP to monitor crucial SEO performance metrics;
  • you can take advantage of incredible third-party services like Google Analytics and DropBox;
  • you can change passwords for your admin user on all of your WordPress sites from within ManageWP;
  • and the list goes on and on.

As for the similarities between ManageWP and WordPress Multisite — it ends with the ability to update plugins. ManageWP goes far beyond that. However, if you’re already setup with WordPress Multisite, that’s no problem. ManageWP fully integrates with that too!

What types of security practices have been put into place to protect customers?

We know that the success of our business depends a lot on security; this has been our focus since day one. To ensure that our user’s data is secure, we dropped the built-in XML RPC protocol — it’s inherently insecure to work with as it exposes sensitive data. We replaced it with OpenSSL encryption. Because of this, the transmission of your data remains completely secure.

We also never ask users to enter their admin passwords for any websites they are managing with us. We do not have access to your site’s credentials and other crucial information. Our technology is innovative in that it allows ManageWP to talk directly to your WordPress sites through our ManageWP Worker plugin. So by utilizing WordPress’ built-in plugin architecture, we are able to do amazing things to help you manage all of your sites.

As for protecting your ManageWP account, we utilize multiple layers of protection: restricting the login by IP address and two-factor authentication (wherein a security code is sent to user’s email or phone via SMS). This is far beyond industry standards, and it’s only a handful of the things we do to ensure that our users’ sites are safe.

We take great pride in this.

All Sorts Of Cool Things You Can Do From One Location

Are there any differences between the self-hosted product of ManageWP and the ManageWP website?

The Enterprise (self-hosted) version of ManageWP is essentially the same as our hosted version. But we offer this to companies and organizations that want all of the benefits of ManageWP in the privacy of their own hosting environment. For example, this can be (and usually is) important for data compliance within larger organizations.

Our Enterprise users also enjoy our full attention and dedicated support. We often work with our Enterprise customers to provide them with the special features that they need. We always make the extra effort to ensure that our customers’ needs are served.

How has your experience in developing plugins and working with sites such as Mashable contribute to what you’ve accomplished with ManageWP?

I started making WordPress plugins almost five years ago, so getting to know WordPress inside-out helped me tremendously in understanding the needs of the average WordPress user — if such user exists at all, as there are so many uses for WordPress today. After that, it was then only a matter of coordinating with our team to develop a high-quality solution that works on almost any number of different WordPress setups.

And now that we have launched ManageWP, I can direct my focus my attention on improving it further and adding new and amazing functionality. That makes me very happy. I hope it will continue to make our incredible customers happy as well.

Related posts:

  1. Talking WordPress With Vladimir Prelovac
  2. WordPress And How It Changed Content Management


WordPress.com News: Your Stats Have a New Home

January 26th, 2012

Are you addicted to checking your site stats? You are not alone. The stats dashboard has always been one of the most popular admin screens. It’s gratifying to know that people are visiting your place online.

With the WordPress.com front page evolving into a one-stop shop for posting, exploring, following and reading blogs, it seemed natural to put your blog stats there, too.  Stats are becoming more and more about interacting with your readers and other bloggers.

My Stats Tab on WordPress.com

You’ll still see your summary stats and chart on your main dashboard, and the full stats page in your dashboard will remain for a while, but the My Stats tab on the WordPress.com front page will soon become the home for the most comprehensive view of your stats.  Stats will also continue to be available by clicking on the sparkline in the admin bar at the top.

While adding the My Stats tab to the front page, we also gave it an updated look by making the panels regularly spaced, using rounded gravatars for your commenters, and giving it an overall lighter feel:

Stats Before and After

We’ll be adding even more features to your stats and the WordPress.com front page soon.  We’re working on adding country stats of your visitors, which many of you have requested.

If you’d like to attract more visitors to your site, check out these great resources on boosting your blog readership:

(Note to Jetpack users: Your stats will still be available in your wp-admin dashboard. However, you may still enjoy viewing your stats on WordPress.com.)



BloggingPro Plugins: Ultimate Security Checker Plugin For WordPress. Keep Your Blog Secure And Running Properly

January 26th, 2012

Ultimate Security Checker for WordPress

Working with an open-source platform that provides open-source plugins means it’s often cheap to build and maintain a website using WordPress, however because the platform and plugins are often open source it can also create a security headache for site administrators and that’s where Ultimate Security Checker comes into play.

The program is simple to use, essentially users simply search for “Ultimate Security Checker” in the WordPress repository and upload it to their server or they just install it direct from the WordPress plugins search section inside the admin area of their websites WordPress setup.

Once installed the program will ask you to run a diagnostic at which time Ultimate Security Checker will examine your blocks file settings, server settings, WordPress database and required plugin updates for stability.

Here’s the output for the program after a check has been completed:

Ultimate Security Checker

As you’ll notice each area that is checked is ranked, this shows users where areas of improvement can be made, the program also gives each WordPress blog a security points score, in this case my blog scored 102 out of 115 points because several server configuration steps could be better optimized.

Users can choose to “Run the tests again!” whenever they want while the settings tab at the top of the screen will also allow them to set a reminder scan for 1 or 2 weeks (this can also be set to “never” if you choose).

Next to the “Run the Tests” tab at the top of the screen users will also fine the “File Analysis” tab, in this option you can have Ultimate Security Checker scan each file on your blog while searching for suspicious code, this of this tab as the virus scan portion of the plugin.

Ultimate Security Checker Files Analysis

Once you have found areas that require improvement simply click on the “How To Fix” tab which will in turn lead you to helpful resources that explain how to better your blog through simple fixes that you can handle on your own or with the help of your hosting provider.

And just in case you forget about Ultimate Security Checker I wouldn’t worry to much, your security score always shows direct at the top of your admin bar, ensuring you can keep an eye on the security of your blog at all times.

Use Ultimate Security Checker alongside WP Clean-Options and you’ll have a nicely secured blog that runs safe and fast for years to come.

Get backlinks to your Blog!

Promote Your Blog

If you are looking to promote your blog and get high quality backlinks from a PR6 2003 domain then Blogsearchengine.com is for you. For as little as $14.99 you can submit your blog and have a review written and published there with a backlink to your website or blog, we accept all niche!



Otto on WordPress: Comment Form Autocomplete Snippet

January 25th, 2012

Google came out with an experimental specification for websites to provide “hints” on forms, to allow things like autocomplete to work better and be more standardized. Seems useful.

Here’s a quick plugin snippet you can use to make your comments form use this specification. Only Chrome 15 and up is using this at the moment, but in the long run I think most browsers will be implementing something similar to this, since filling out forms is just one of those endless pieces of drudgery that we could all stand to do away with.

Note that your theme will need to be using the comment_form() function call for this to work, otherwise you’ll just have to edit your comment form in the theme manually.

<?php
/*
Plugin Name: Add X-Autocomplete Fields to Comment Form
*/
add_filter('comment_form_default_fields','add_x_autocompletetype');
function add_x_autocompletetype($fields) {
	$fields['author'] = str_replace('<input', '<input x-autocompletetype="name-full"', $fields['author']);
	$fields['email'] = str_replace('<input', '<input x-autocompletetype="email"', $fields['email']);
	return $fields;
}

Simple little bit of code, really. Should work with any theme using the normal comment_form() function call.


Yoast: On WordPress Dashboard Widgets

January 25th, 2012

I was one of the first plugin developers to add a dashboard widget to your dashboard when you installed one of my plugins. I'm hoping people will follow me in doing the reverse as well. While it generates traffic, it doesn't generate sales. Let me show you.

When I added mine, in the beginning, it drove lots and lots of traffic. People weren't used to it yet and thought I had somehow "found my way into core". Recently, I've added more elaborate tracking to my WordPress SEO plugin links. Allowing me to see how much traffic the individual sections of my plugin were sending back to my site. Let me share that with you now (click for a larger version):

Traffic and conversion statistics for plugin links for the last 28 days

Traffic and conversion statistics for plugin links for the last 28 days

As you can see, the widget sends a bit of traffic (1800 visitors in total) but only drove 3 conversions... Conversions on my site are click outs on affiliate programs and, more importantly, sales for my website review service. Turns out, people clicking on from the plugin interface or the plugin link are far more valuable visitors than people clicking on the dashboard widget.

So, in an effort to annoy less people and focus on the traffic that matters, I've just pushed out version 1.1.5 of my WordPress SEO plugin, without the dashboard widget. I will shortly remove it from my Google Analytics plugin too. Of course other developers should do their own analysis if they want to, but for me it's clear that the widget doesn't help enough to be interesting.

If you used the dashboard widget regularly to find new posts on my site, please consider subscribing to my newsletter using the form below!

On WordPress Dashboard Widgets is a post by on Yoast - Tweaking Websites.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on WordPress hosting!


WordPress Tavern: Jeff Starr On Smarter Slugs In WordPress

January 25th, 2012

One of the refinements that was part of WordPress 3.3 is that posts that have certain characters within the post title are ignored thus, creating a cleaner permalink. Jeff Starr of Digging Into WordPress explains in better detail on what actually happens when you use those characters within the post title but further into the post, he also brings up the fact that WordPress can automatically detect duplicate post titles within the database and append a dash with a number to the end of the post title. However, as Dave Clements mentions in the comments, this could possibly lead to broken links:

I read something that’s a little concerning in your post. Let’s assume that I create test-post and then create test-post-2. I publish them both and then trash test-post. Are you saying that test-post-2 will automatically become test-post, potentially screwing up any links that have been published with the original permalink of test-post-2? Just wondering what impact this has.

Perhaps Otto could shed some light as to what happens regarding this scenario. Jeff Starr will be looking into it and will be reporting back his findings.

Related posts:

  1. Ask Jeff: Is The Submit A Post Link A Plugin?


Digging into WordPress: WordPress CMS Plugins

January 25th, 2012

To make room for new content for the DiW 3.3 update, we’re “excerpting” this section into its own blog post. Here you’ll find an extensive round-up of CMS plugins for WordPress. Includes CMS plugins for better admin functionality, user-role management, custom content display, e-commerce & shopping carts, forums, newsletters, and more.

Administration Tools

These plugins provide CMS-like functionality to the WordPress Admin area.

  • WP-CMS Post Control — Provides complete control over the Write-Page and Write-Post areas of the WordPress Admin. Enables you to hide unwanted items, disable the Flash uploader, kill post revisions, and even add a personal message.
  • WP-CMS — Transforms the Admin area to focus more on page creation and less on post creation. Designed to simplify the whole process for your newbie clients. You can even disable the blog functionality entirely.
  • Flutter — Enables you to edit posts without leaving the post page and also provides custom write panels that enable further publishing functionality.
  • Supple Forms — Enables you to create custom write panels, as well as format and insert values into posts using shortcodes and snippets of HTML.
  • Custom Write Panel — Enables you to create additional write panels with customized input fields. Add textboxes, checkboxes, radio-buttons, dropdown menus, and more.
  • Pods — Comprehensive CMS functionality, enabling you to create, manage, and display custom content types. Features automatic pagination, public-form filtering, access control, menu editing, and more.

User Role Management

  • Members — Comprehensive user-, role-, and content-management plugin that was created to make WordPress a more powerful CMS. Provides more control over your blog with an extensive collection of component-based features.
  • s2Member — s2Member provides robust tools for setting up a PayPal-driven membership site, including secure members-only content with custom roles and capabilities.
  • Role Scoper — Provides you the ability to specify different permissions levels for different WordPress roles. Also provides options for implementing user groups.
  • Disclose-Secret — Enables you to hide specified posts from users unless they meet certain criteria.
  • Page Restrict — Enables you to restrict specified pages to logged-in users.

Ordering, Filtering, Limiting and Displaying Content

  • AStickyPostOrderER — Enables you to customize post-display order for category views, archive views, and even sitewide.
  • Advanced Category Excluder — Provides advanced content separation and category management for WordPress. Exclude any number of categories according to your needs. Also provides control over feeds and search results.
  • Custom Post Limits — Provides control over the number of posts that appear on the home page, in various archive views, and in search results.
  • Custom Query String Reloaded — Rework of the original plugin, CQS Reloaded controls the number of posts displayed on just about any type of page view, including archives, months, categories, home page, search, and many more. For more information on CQS Reloaded, check out the popout in section 5.1.4.

eCommerce and Shopping Carts

  • eShop — Provides shopping-cart functionality that includes customizable product listings, multiple product options, advanced payment options, basic statistics, and more.
  • WP e-Commerce — Provides an “elegant and easy to use fully featured shopping cart” that claims to be the “most complete and powerful Shopping Plugin you will find for WordPress.”
  • YAK for WordPress — Provides basic shopping-cart functionality that associates products with blog posts.
  • Quick Shop — Adds a sidebar widget that displays cart contents to the user and enables easy item removal. Also enables you to easily add products to your posts and pages.
  • Cart66 Lite — Shopping cart plugin that enables you to sell digital and/or physical products with a host of useful options. Features include advanced shipping options, custom fields for products, customizable email receipts, Amazon S3 integration, and much more.

Email Mailing List and Newsletter Plugins

  • WP-Campaign-Monitor — Email newsletter and SMS functionality enabling users to send campaigns, track results, and manage subscribers. Even includes a plug-n-play sidebar widget.
  • PHPList Form Integration — Enables users to easily subscribe to your newsletter or RSS feed from any page on your blog. Designed to work with PHPList, an excellent open-source newsletter manager.
  • WordPress Double Opt-In Manager Widget — Enables users to subscribe to your mailing list by way of a double opt-in method that includes the email form and a confirmation email.
  • MailChimp — MailChimp is a third-party email newsletter sending service. They have an official plugin to help integrate with WordPress.

Miscellaneous CMS Plugins

  • ProjectManager — Manage any number of projects with recurrent datasets. Great for portrait systems, music and DVD collections, and just about anything else imaginable.
  • WP-PostRatings — Enables users to rate your post content. Highly customizable. One of the best.
  • User Submitted Posts — Enables visitors to submit posts and images from anywhere on your site. User-submitted posts optionally include tags, categories, post title, URL and more.

Using WordPress as a Forum

Although forum functionality is not (yet) built into the WordPress core, implementing a forum on your site is easily accomplished with the help of these awesome plugins.

  • bbPress Forum — bbPress is simple, fast, and elegant forum software from the same people who make WordPress. bbPress is focused on web standards, ease of use, ease of integration, and speed.
  • Simple:Press Forum, aka Simple Forum — A feature-rich forum plugin for WordPress that fully integrates into your WordPress-powered site. Fully customizable and includes plenty of skins and icons to get you started.

More Forum Plugins

Here are two more useful forum plugins for WordPress, both include great features and look like great forum solutions.

What else?

Know of a sweet CMS-related plugin that needs mentioned? Shout it out in the comments to share with the community!


Digging into WordPress: Smarter Slugs ~!@$%^&*()={}[]?

January 24th, 2012

See those crazy characters in the title of this post? Now see how they don’t appear in the post’s URL? That’s one of the finer details of the WordPress 3.3 update: smarter permalink slugs.

So when you type something like you see in the title of this post, with all the funky characters, or even just something like a comma, apostrophe, or semi-colon, WordPress 3.3+ works the magic and automatically creates your post slug without the junk.

Details.

It may not seem like a big deal, but previous versions of WordPress would include those funky characters when auto-creating your permalink slugs. If you glance at URLs while surfing around WordPress-powered sites, keep an eye on the URL in the address bar. It’s common to see all sorts of non-alphanumeric stuff in there.

Does it matter? I think so, for numerous reasons:

  • Readability, consistency – simple alphanumeric URLs work great everywhere, no need to clutter them up with redundant information. For example, funky characters can choke URL-shortening services. Also: fewer characters, facilitates better comprehension.
  • Safer – certain characters such as `, ^, ", ~, #, %, |, \, <, >, ", ~, [, ], {, }, and the blank space are considered as unsafe and should not be included in the URI (ie., always need encoded). Including them may seem to work, but you’re introducing sort of unknown variable into the mix, a potential vulnerability*
  • SEO — do funky characters like blank spaces and percentage signs in the URL hurt your site’s SEO? Maybe not, but why put anything in there that isn’t a keyword?

So smarter auto-slugs in WordPress 3.3, another one of the finer details that improves the overall WP post-editing experience, and something you may not have noticed.

Bonus tip

Another sort of related “smarter-slugs” feature noticed while looking into it, is the automatic removal of the “-2” that WordPress automatically appends to the post slug when a duplicate is detected. So for example, say you’re working on a new post:

  1. Create a post with a slug such as “test-post
  2. Delete the post and send to the Trash
  3. Create another post with the same “test-post” slug
  4. WordPress detects the duplicate post in the database and appends a “-2”, like so: test-post-2 to the post slug
  5. Create yet another post with the same slug and WordPress will append a “-3”, and so on..

Nobody likes the “dash-twos” but they are required for the auto-creation of non-duplicate post slugs. What I just noticed with version 3.3 is that, once you empty the Trash, WordPress automagically removes the “-2” from the post slug, improving workflow to save you time. This may have changed in a previous version and I just hadn’t noticed, or it’s another one of the administrative refinements of WordPress 3.3.

Update: it looks like the -2 removal only applies to drafts and pending posts, not to posts that have already been published.. (see comment from Otto)

* More info on forbidden characters and blocking them


WPBeginner » Tutorials: How to Split WordPress Posts into Multiple Pages

January 24th, 2012

Yesterday we wrote an article on the site showing you how to increase pageviews and reduce bounce rate in WordPress. One of the tips we mentioned was splitting long posts into multiple pages. You can see an example of how we split our posts into two pages or even into five pages. After writing that article, we got a lot of inquiries from people asking us multiple questions. How do you split the posts into multiple pages? I put the <!–nextpage–> tag, but no pagination shows up. Well worry not. In this article, we will show you how to split WordPress posts into multiple pages.

On most well-coded themes, all you have to do is paste this code: <!–nextpage–> wherever you want the next page to start. The pagination will automatically show up. But that might not be the case if your theme is not coded properly.

If for some reason, pagination is not showing up after you have pasted the next page tags, then you would need to add the following code in your single.php loop.

<?php wp_link_pages(); ?>

Once you add that, then the pagination will start to show. There are several parameters for this function that you can use. The codex page for Styling Page-Links does a good job explaining that.

How to Split WordPress Posts into Multiple Pages is a post from: WPBeginner which is not allowed to be copied on other sites.


WordPress Tavern: Bad Behavior In The WordPress Community

January 23rd, 2012

It started off with a link and turned into something disgusting. KevinJohn Gallagher explained the various reasons for why his company decided not to pursue using WordPress anymore for their clients and I linked to that article because I thought it raised some points that were good for discussion. After I linked to the article on WPTavern as well as Twitter, his article made the front page of HackerNews. ReadWrite/Web also linked to the article with their own thoughts. One of the reactions to his article that I witnessed was that a lot of people agreed with Kevin and the points he made. However, a number of people disagreed with him and in fact, disagreed so passionately that KevinJohn stated within the comments of my article that he had received death threats as well as had DDoS attacks performed to his website.

Sadly in the last 7 days I’ve had 3 ddos attacks, 14 threats (4 “credible”) against myself or my family, multiple requests to have me removed from speaking at WordPress events to which I’m already signed up and personally sponsor, and 31 people roll-back their purchase for Open Source Scotland because I’m involved. All because my staff, not me, but the good folks I work with every day, don’t want want to use WordPress anymore. I’m being punished by this community, for doing the right thing: listening to my colleagues and my clients.

On the one hand, this is ridiculous behaviour. There is no reason what so ever to give someone death threats because their company has decided not to use WordPress anymore. Mark Jaquith was strongly opposed to the harassment Kevin was receiving and even Jane Wells offered to help out KevinJohn.

On the other hand, crazy people exist within the realm of reality and they can not be controlled. Most of the conversation that occurred as the result of Kevin’s article were from sane individuals that make up the WordPress community. It’s unfortunate what Keven had to go through because of that post but I strongly disagree that it’s a reflection of how the actual WordPress community is like. There are pricks and jerks within the WordPress community, no doubt about that. But, in my experience the nicer people far outweigh the jerks.

I’m a big fan of WordPress but I’m not going to cry myself to sleep if someone tells me they are ditching the software for something else. It’s common sense to use the best tool for the job instead of forcing a square peg into a round hole. It’s important to listen to the reasons why people switch from WordPress or desert the software but it’s not something anyone should lose sleep over. It’s definitely not worth threatening someone’s life. It’s an opportunity to learn and figure out how the software can be improved. This is the type of attitude we should have towards folks like KevinJohn Gallagher or others that publish their discontent for WordPress. We shouldn’t be slapping people around with an elitist, cult like hand that twitches every time someone criticizes the software. We are better than that. Let’s prove it.

Related posts:

  1. What WordPress Needs From Its New Community Leader
  2. Community Oriented WordPress Magazine Idea
  3. WordPress Reverts To Original Ping Behavior


Peter's Useful Crap: How to access “most viewed pages” data using the Google Analytics API 3.0 and PHP

January 22nd, 2012

If you are running Google Analytics on your site, you can use its API to read visitor data and display the information. Here is a quick framework how-to on using the API to get the data to create a “most viewed” widget based on the pages that get the most pageviews. The data is accessed periodically in the background from a script on your website’s server.

Version 3.0 of the Google Analytics API 3.0 implements the OAuth 2.0 protocol. Among the benefits of OAuth are the fact that applications don’t have to store user credential information, and that users can revoke an application’s permissions at any time. However, the OAuth authorization process can be a bit more involved compared to some other API approaches. Also, the Google documentation is a bit light in terms of summarizing the process for server-side data access.

This how-to will use PHP to make the server-side calls to the Google Analytics API, which returns information in the JSON format. The code examples assume that you have cURL for PHP installed, and that you are using PHP 5.2.0 or later in order to use the json_decode function to parse the Google responses.

The setup steps are as follows: We will first set up the application in the Google API console. Then we’ll authorize the application with a Google account that has access to your site’s data. Using the resulting authorization code, we’ll request a refresh token from Google.

From there, you can build the application part: The refresh token is used to get access tokens that are finally used to actually read the data from Google. The details of implementing the data for the widget will be left up to you.

Google API console setup

Log in to the Google API console with a Google account. Note that the account that you log in with here does not need to be the same account that has access to your site’s data.

At the top of the left menu, create a new API project in the dropdown list:

Create new API project

Name the API project

Once your new project is created, select the “Services” page from the left menu, and turn on the Google Analytics API:

Turn on the Analytics API

Note that there are per-day query limits for each API service.

Select the “API Access” page from the left menu, then create a web application client.

Create a new client ID

The name of the web application client will be displayed to the user (you) later when you authorize the application.

Client ID details

Client ID application type

You will need both the client ID and client secret later, used in a PHP script accessible at the redirect URI, which you can rename to add the “.php” suffix as necessary.

Client ID, client secret

If you need to access data server-side when an authorized user is not logged in, the web application client is not sufficient. You also have to create a server API key, limited to the IP address(es) of your server(s):

New server key

Authorize the application

Next, you’ll have to authorize the application to access your Google Analytics data. Remember that the account that created the API application does not have to be the same account that has access to your site’s data.

To prompt the user (you) to authorize your application, you have to build the authorization URL. First, however, we should build a very basic script at the configured redirect URI. The first iteration of the script has this code at http://www.theblog.ca/oauth2callback.php:

<?php
    var_dump( $_REQUEST );
?>

This is simply going to output to your screen the raw data that is being sent to the script via either POST or GET parameters. It is not the complete script yet, but will be used for illustrative purposes.

To build the authorization URL (which is a set of GET parameters at the URL https://accounts.google.com/o/oauth2/auth), you’ll need the following information, which is as follows for our example application:

  • Callback URL: http://www.theblog.ca/oauth2callback.php
  • Client ID: 63311316168.apps.googleusercontent.com
  • Client secret: _iXNRZ5zMj1beMTab0wA4lXC

You will also need to specify a response type (always “code”), the type of access you are requesting (“offline” since we are accessing the data in the background without user intervention), and a “scope” specific to Google Analytics. See the Google API OAuth 2.0 documentation for information on the URL parameters and the resulting response.

For our example application, the authorization URL is:

https://accounts.google.com/o/oauth2/auth?response_type=code&client_id=63311316168.apps.googleusercontent.com
&redirect_uri=http://www.theblog.ca/oauth2callback.php&access_type=offline
&scope=https://www.googleapis.com/auth/analytics.readonly

Get the permanent refresh token

When you access the authorization URL, it should prompt the user (you) to allow the application to access the site data. Once you click the authorization button, you should be redirected to your authorization URL, which you will discover has the “code” GET parameter. You will have to use the value of that GET parameter to ask Google for the refresh token.

Our example uses cURL to build the refresh token request, whose URL uses a similar format to the authorization URL, posting a set of fields to https://accounts.google.com/o/oauth2/auth. According to the Google API OAuth 2.0 documentation, you’ll need the client ID, client secret, and redirect URI information from before, as well as the “code” and an extra field “grant_type”, which is always “authorization_code”.

In oauth2callback.php, use the following code:

<?php
if( isset( $_GET['code'] ) )
{
    $ch = curl_init();
    $timeout = 5;
    curl_setopt( $ch, CURLOPT_URL, 'https://accounts.google.com/o/oauth2/token' );
    curl_setopt( $ch, CURLOPT_POST, 1);
    curl_setopt( $ch, CURLOPT_POSTFIELDS, 'code=' . $_GET['code']. '&client_id=63311316168.apps.googleusercontent.com&client_secret=_iXNRZ5zMj1beMTab0wA4lXC&redirect_uri=http://www.theblog.ca/oauth2callback.php&grant_type=authorization_code');
    curl_setopt( $ch, CURLOPT_RETURNTRANSFER,1 );
    curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, $timeout );
    $data = curl_exec( $ch );
    curl_close( $ch );
    $result = json_decode( $data, true );
    var_dump( $result );
}
else
{
    var_dump( $_REQUEST, true );
}
?>

Note that we are once again using a quick and dirty “var_dump” to output the returned information on the screen. If you visit the same authorization URL in your browser once again, you should get redirected to the same URL as before, but this time showing the response from the extra request for the refresh token. This response should, of course, contain the refresh token.

One extra note: to see which applications you’ve authorized under a Google account, you can go to this URL: https://accounts.google.com/IssuedAuthSubTokens, where you can also revoke access, forcing the application(s) to ask for your authorization again.

Use the refresh token and access the data

The refresh token is the most important piece of information, as it is essentially the permanent key that you need to access the Google Analytics data. (It is permanent as long as the user account that authorized the application does not revoke access.) The more accurate description is that the refresh token is used to get a time-limited access token, and that the access token is used along with the API key you had set up, valid only for specific IP addresses, to access the data.

In our example, the refresh token is:
1/7DRzjcqm-ypH9By1FrY3T-l_oSW3KdklC0LJuZLk5Q0

The following example script is a framework for what you would use with your website, and assumes that you are running it periodically, about once an hour, and therefore you need to ask for a new access token every time. A Google Analytics access token typically has an expiry of just over 1 hour, and thus you can use it for more than 1 request within that hour.

The script gets the top 10 pages based on pageviews for the past 1 day.

<?php

// First, ask for an access token using the refresh token
$ch = curl_init();
$timeout = 5;
curl_setopt( $ch, CURLOPT_URL, 'https://accounts.google.com/o/oauth2/token' );
curl_setopt( $ch, CURLOPT_POST, 1);
curl_setopt( $ch, CURLOPT_POSTFIELDS, 'refresh_token=1/7DRzjcqm-ypH9By1FrY3T-l_oSW3KdklC0LJuZLk5Q0&client_id=63311316168.apps.googleusercontent.com&client_secret=_iXNRZ5zMj1beMTab0wA4lXC&grant_type=refresh_token');
curl_setopt( $ch, CURLOPT_RETURNTRANSFER,1 );
curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, $timeout );
$data = curl_exec( $ch );
curl_close( $ch );
$result = json_decode( $data, true );

/*
You should get a response like this in the result:
{
  "access_token":"1/fFBGRNJru1FQd44AzqT3Zg",
  "expires_in":3920,
  "token_type":"Bearer",
}

Then, you can use that access token to build queries (see http://code.google.com/apis/analytics/docs/gdata/gdataExplorer.html or http://code.google.com/apis/explorer/#_s=analytics&_v=v3 for examples):
*/

if( isset( $result['access_token'] ) )
{
    // Look up only the last day of visits
    $endDate = date( 'Y-m-d' );
    $startDate = date( 'Y-m-d', strtotime( '-1 day' ) );
    /*
        "ids" value comes from this URL in the last portion of the URL, after the "p": https://www.google.com/analytics/web/#dashboard/default/a381759w192893p9122283/
        Or use http://code.google.com/apis/analytics/docs/gdata/gdataExplorer.html to show the GA ID for each your Analytics accounts
        "key" is the API key that you'd set up in the Google APIs console, restricted to certain IP addresses
    */
    $url = 'https://www.googleapis.com/analytics/v3/data/ga?' . 'key=AIzaSyDyWgfb45VYfVYdVnmpH4JZCCRNas5P0SE&ids=ga:9122283&start-date=' . $startDate . '&end-date=' . $endDate . '&metrics=ga:pageviews&sort=-ga:pageviews&dimensions=ga:pagePath&max-results=10';
    $ch = curl_init();
    $timeout = 5;
    curl_setopt( $ch, CURLOPT_URL, $url );
    curl_setopt( $ch, CURLOPT_HTTPHEADER, array( 'Authorization: Bearer ' . $result['access_token'] ) );
    curl_setopt( $ch, CURLOPT_RETURNTRANSFER,1 );
    curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, $timeout );
    $data = curl_exec( $ch );
    curl_close( $ch );
    $mostViewedRaw = json_decode( $data, true );
    var_dump( $mostViewedRaw );
}
?>

From here, it is up to you to use the returned data in ways that best suit your needs and application. For example, for performance reasons and API call limitations, you might want to run the script only about once an hour, and store the results in a database table or a data structure specific to your content management system. You might also want to do some extra filtering on the Google Analytics results to only display certain types of pages (omitting the front page, for example). Note that the resulting Google Analytics data is simply output to the screen in our example so that you can see its structure and determine how to use it to suit your needs.


Designpx » Tutorials: Creating Short Amazon Affiliate Links (AMZN.COM)

January 22nd, 2012

Amazon logoHere is a quick tip for those looking to use the Amazon short link service (AMZN.COM) with affiliate links. Of course you can always paste the long URL into something like the Google URL Shortener but since we recently had a client who insisted on using Amazon, we thought we’d share.

NOTE: There has been talk of Amazon not allowing the use of short links and social networking sites like Twitter to drive affiliate traffic but that is false as stated in the Amazon Associates Social Networking FAQ.

Long Amazon Affiliate URL

Most Amazon affiliate URLs look something like this:

http://www.amazon.com/gp/product/1616084731/ref=as_li_ss_tl?ie=UTF8&tag=dpx-20&linkCode=as2&camp=1789&creative=390957&creativeASIN=1616084731

Shorter Amazon Affiliate URL

We can take that long link, get rid of some of the mess at the end, change the /gp/ to /dp/, keep the Amazon Standard Identification Number (ASIN) and our affiliate tag and we end up with something much shorter:

http://www.amazon.com/dp/1616084731/tag=dpx-20

Shortest Amazon Affiliate URL

To go even shorter we can replace the long Amazon URL with the short URL and remove the /dp/ entirely:

http://amzn.com/1616084731/tag=dpx-20

WordPress.com News: Reblogging is Back!

January 22nd, 2012

As we mentioned last week, you can like and reblog posts directly from your reader, which displays a stream of all the updates published on all the blogs you follow from your WordPress.com account.

We’ve also brought the reblog button back to the toolbar that appears at the top of the screen when you’re logged into WordPress.com. Note that you’ll only see the like and reblog options while you’re looking at individual posts.

For example, you’ll see this on the left side of your toolbar while viewing http://en.blog.wordpress.com/2012/01/20/read-blogs:

And your toolbar will look like this while you’re browsing the home page of en.blog.wordpress.com:

How does reblogging work?

Reblogging is a quick way to share posts published by other WordPress.com users on your own blog. People have been reblogging others’ posts since blogging started, but our new reblogging system enables authors to retain greater control over their content.

When a post is reblogged, it shows up with a link back to the blog it came from, the first image in the post, an excerpt of the post’s introduction (if it contains text), and thumbnails of any other images that the post contains. It also shows any comments left by the person who reblogged the post:

Reblogs published on blogs you follow will also appear in your reader:

What happens when my posts get reblogged?

An excerpt of your post will be published on the reblogger’s site (with a link back to your original post), and you’ll receive a reblog notification in the post comments (you might need to approve it first):

You’ll also receive an email notification of the reblog.

Do I get credit when someone else reblogs one of my posts?

Absolutely! All reblogs contain a link back to your original post, so the more people reblog your posts, the more likely it is that you’ll attract new visitors (and perhaps new followers, too!).

What happens if I reblog a reblog?

If, for example, Stephane reblogs a WordPress.com announcement on his site and Lori reblogs Stephane’s reblog, Lori only re-publishes any comments Stephane made about the announcement. If Lori wants to share the original announcement, she should reblog the post from en.blog.wordpress.com, not from Stephane’s reblog. But if Stephane leaves a really clever comment, Lori might want to share it by reblogging his reblog on her site.

Can I edit a post I’ve reblogged?

You can go back and edit the comments you left when you reblogged a post, but you cannot edit any parts of the original post excerpt (including the post title). If you like, you can add categories or tags to the post. Reblogs show up under Posts → All Posts in your dashboard, and they can be edited the same way you edit your own posts.



Justin Tadlock: One multi-task plugin vs. several single-task plugins?

January 21st, 2012

Recently, I’ve been giving a lot of thought to the debate over whether it’s better to develop larger plugins that handle many related tasks or smaller, mini-plugins that handle extremely specific tasks. There’s merit to both arguments, but I wanted to give my readers a chance to discuss this and help me come to a decision about how I developer some of my future plugins.

The biggest reason for this article is that I’ve been trying to make a final decision on how one (or multiple as the case may be) of my plugins will be developed. Other plugin developers might also find this discussion useful in helping them make decisions.

The example plugin

I want you to have an example of what I’m asking you to discuss, so I’ll give you a few details on the plugin(s) I’m developing. It is a set of extensions to how comments are handled in WordPress. Some of these extensions include:

  • Moderate all non-Enlish comments.
  • Automatically delete spam on a schedule.
  • Turn on/off comments for specific post types by default (like with posts).
  • Moderate all trackbacks and pingbacks.
  • And more.

The plugin currently has several options like the above. Basically, it’s just an extension to the “Discussion Settings” page in the WordPress admin. It’s easy to see how some users might only want to use one or two of those settings rather than all of them.

Advantages of a single, multi-task plugin

The following is a list of some of the advantages to running a single plugin:

  • You only have to run one plugin. Many people live in fear of running “too many plugins” because it might somehow break their site. Realistically, running too many large or poorly-coded plugins would be more of a problem. While you can’t really have too many plugins, this fear from users is something to consider.
  • Fewer things to manage. No one likes to update plugins every day. The more plugins you have, the more likely you’ll have to update them frequently. Having to only update a single plugin instead of several is easier.
  • Fewer translation files. Translators would only have to update and maintain a single translation file for one plugin as opposed to multiple translations for multiple plugins.

Advantages of multiple, single-task plugins

The list below is some of the advantages of using several plugins.

  • You don’t have to load code you don’t need. Using mini plugins means that you only have to load and run code that you absolutely want. With a single plugin, there may be several parts of the plugin that you don’t want to use.
  • There’s generally fewer bugs. Less code in a plugin means there’s less chance of bugs arising. It also makes it easier to find and fix bugs more quickly. Thus, allowing plugin developers to quickly get out new releases when they’re needed.
  • Fewer database options. With multiple plugins, sometimes you don’t need an option at all. The plugin simply works. With a single, large plugin, each setting might need to be enabled/disabled.

What are your thoughts?

Think about the example plugin I mentioned early in the post. If I allowed you to make the final decision on whether you’d like to see this developed as a single plugin or multiple plugins, which would you choose?

Now, think about the plugins you currently have installed on your site. Are there some that you’d like to see broken down into smaller plugins that only handled specific tasks?

Are there any other advantages or disadvantages you’d like to share?


WordPress Tavern: WordCamp Norway Participants Tell Us Why They Love WordPress

January 20th, 2012

Pretty cool video from WordCamp Norway 2012 where participants answered the simple question of why they love WordPress. The video features some familiar faces such as Ronald Huereca, Ryan Hellyer, Magnus Jepson, Isaac Keyet, and Scott Basgaard. Scott looks like a giant when standing next to Ryan Hellyer.

Related posts:

  1. WordCamp Denver Live Coverage
  2. Jonathan Davis Via WordCamp Raleigh
  3. Introducing WordCamp 360


WordPress.com News: New Theme: Newsy

January 20th, 2012

It’s been an extra big week in the news ’round these parts, so much so that the launch announcement of our latest premium theme seems like an extra extra good way to headline our Friday.

Newsy is a versatile business and news-friendly theme that offers up to ten different layouts, four footer columns, custom link and accent colors, and a custom site header. Brand and content-focused editorial teams will love publishing with this theme.

Newsy: Home Page

Newsy: Home Page

Designed by Themify, Newsy comes with an impressive set of Theme Options that afford you a great deal of flexibility with how you choose to display your website. Easily control your site’s sidebar positions, home page and archive page post layouts, and navigation bar search box visibility.

You also have the ability to change your site-wide link and accent colors. A few quick adjustments via the options panel will truly have the effect of individualizing your site and making it stand out from the crowd.

Newsy: Accent and Link Color Examples

Newsy: Accent and Link Color Examples

Up to ten different layouts in Newsy can be achieved by simply altering your widgets and Theme Options. A wide sidebar, narrow sidebar, and two mini sidebars come rolled into Newsy, as well as additional post display and sidebar alignment options.

Newsy: Wide Sidebar Left, Narrow Sidebar Right Option

Newsy: Wide Sidebar Left, Narrow Sidebar Right Option

All of this is controlled either from within Appearance → Widgets or Appearance → Theme Options. The goal with Newsy is maximum flexibility without the headache of manually configuring a thousand theme options. In this case we really can say that less—well, fewer (options)—is more. :)

Newsy is a premium upgrade for your blog at $85 for a lifetime subscription. Read more about its features on the Theme Showcase or dive right into previewing it on your blog from Appearance → Themes.



follow the white rabbit: Scaling WordPress @ #wpldn

January 20th, 2012

Last night I did a short presentation on Scaling WordPress using WordPress.com as an example giving an overview of the solutions we use for different scaling issues as well as highlighting some solutions that you can try out on smaller sites:


WordPress.com News: Read All Your Favorite Blogs in One Place

January 19th, 2012

If you feel like it’s a chore to keep up with all your favorite blogs, you can now read posts from all the blogs you follow (even the ones that aren’t on WordPress.com!) in one convenient place on the WordPress.com home page:

Your reader displays all the posts across all the blogs you follow in the order they were published, with the most recent content appearing at the top. You’ll see an excerpt of the introduction to each post, the first image in the post, and thumbnails of any other images that the post contains.

You can even like and reblog WordPress.com content directly from the reader (we’re working on bringing reblogs back to the toolbar!) using the icons in the top right corner of each post:

Whether you’re at the computer or using the WordPress app on an Android or iOS mobile device, having all the posts from the blogs you follow in one place makes it easy to find the updates that are important to you, and skip over the ones that aren’t.

Click in the toolbar at the top of any WordPress.com site (you must be logged in to see it) to add new blogs to your reader. For directions on adding blogs from Tumblr, Blogger, and other services to your reader, check out the support document on managing the blogs you follow.

Discover New Blogs, Too

To find some awesome new WordPress.com blogs you might like, check out the Recommended Blogs section of the reader:

Right now you can browse blogs in twelve different categories, and we’ll be adding more very soon.

Use WordPress.com as a Real-Time Information Network

If you want to see what people are saying about your hometown, favorite sports team, or a concert you attended last night, add any topic to your reader to create a stream of all posts published with that tag.

You can add as many topic streams to your reader as you like. You’ll notice frequent updates being published under general topics like “art” and “books,” but you can also add more specific topics like “Picasso” or “J. K. Rowling.”

Want less email?

Each time you follow a blog, new posts from that site will appear instantly in your reader, and you’ll also receive them by email. If you prefer to receive email notifications on a daily or weekly basis, or not at all, you can change your default email settings from the bottom left corner of your reader. You can also change your email notification preferences on a per-blog basis.

Find Friends on WordPress.com

Want to see if any of your Facebook and Twitter friends are on WordPress.com? Give the Friend Finder a try:

So, how will you use the reader, and what can we do to improve it?



Konstantin Kovshenin: I’ve Joined Automattic

January 19th, 2012

This is big news, and words can’t explain my feelings. Today’s my first day at Automattic, the company behing WordPress.com, Akismet, Gravatar, Polldaddy, VaultPress, and a whole lot more. As you know, Automattic also contributes to a number of Open Source projects, including BuddyPress, bbPress, Browse Happy, WordCamp.org and of course WordPress itself.

So… Starting today, I’ll be working on some really cool stuff with some of the most talented minds on earth. I’ve already met with some of the folks online and the energy is incredible, they got me even more excited, and now I can’t wait for my first meetup and of course WordCamp to meet everybody in real life.

This is a dream come true for me, thank you so much Automattic! Looking forward to “make the web a better place.” :)

Source: I’ve Joined Automattic by Konstantin Kovshenin


Justin Tadlock: Prevent Password Reset WordPress Plugin

January 19th, 2012

Recently, I needed to build some functionality into a site that disabled the ability to reset the passwords of certain site administrators via the “lost password” form. However, I wanted to leave this option open for other users in case they needed to reset their password after forgetting it.

Thus, the Prevent Password Reset plugin was born.

How the plugin works

Prevent Password Reset is an extremely simple plugin. It adds a checkbox to the “Personal Options” section of each user’s profile page in the WordPress admin as shown in the following screenshot. Anyone who can edit the user’s profile can select this option for the user.

Screenshot of password reset option on user profile page

Once this option is selected for a user, their password cannot be reset via the “lost password” form. The following screenshot shows what happens when someone attempts to reset the password for a user with password preventing enabled.

Screenshot of password reset disabled

Download the plugin

You can download the latest version from the WordPress plugin repository: Prevent Password Reset Plugin. I hope you enjoy it and can get some type of use out of it.

Please do not ask support questions in the comments below. If you’re in need of plugin support, head over to the Theme Hybrid support forums, which is where I handle support for all my plugins and themes.


BloggingPro Plugins: Clean Options Plugin. Clean Up And Speed Up Your WordPress Installation

January 19th, 2012

Wordpress BroomThe Clean Options plugin is probably one of the easiest to use yet most effective plugins currently available for WordPress website users.

As you may already be aware when some plugins are deleted they fail to remove their database tables from your websites MySql database, conversely they leave commands nested inside your WP-Options table. In some cases poorly constructed plugins can slow down your website and keep it slow even after removed.

WP’s Clean Options plugin however helped you find those orphaned plugins and delete them with just a few simple clicks.

To get started simply search for “Clean Options” from the “Add New” screen in your WordPress admin areas Plugins screen or download and install the plugin: http://wordpress.org/extend/plugins/clean-options/

One installed the plugin is located under “Tools.”

After clicking on the plugin you will see the following screen:

Clean Options Plugin For WordPress

As you’ll notice I only click on the “Don’t show the Known WordPress Core Options for this “Find” and that’s because I’m only trying to find Plugin files that were left behind. If you don’t know what you are doing or want to error on the side of caution I would suggest only clicking on the top box. Next you will simply click “Find Orphaned Options.”

The next display will take several seconds (10-20 seconds on average) to display the orphaned plugin and the output will look something like this:

Clean Options Output Find

As you’ll notice the plugin options are typically named directly after the plugin you have installed or may have removed. For example if you were using the Sharebar Plugin you would see “Sharebar_bg.” At this point you simply click on all of the plugins that you want to remove tables for. At the bottom of all your options that have been selected you then simply choose “View Selected Options Information.”

The final output screen will look like this:

Clean Options Clean Screen Final Step

After you have verified that the plugins displayed must be removed you just click on “Yes, Removal ALL of these options from the wp_options table. You can also select “No. Don’t remove them, return to the first screen” if you have made a mistake. Click submit and your choice is processed.

One qualm with this plugin, if you have installed 50 plugins over the life of your website and there are 1000 orphans options there’s a good chance the program will time out, this is because it will take longer then the typical 30 second timeout option found on most hosts. To fix this problem you can have your host extend your timeout function or add a command to your .htaccess file to do so on your own.

If all else fails you can always access your phpMyAdmin area, open the WP_Options table and select each orphaned table by hand and choose delete. However when used regularly Clean Options allows you to avoid fiddling manually with your WordPress database.

As always remember to backup your WordPress database regularly to avoid any issues that this plugin or other plugins may cause for your website.

Give the Wordress Clean Options plugin a try today and let me know what you think.

Get backlinks to your Blog!

Promote Your Blog

If you are looking to promote your blog and get high quality backlinks from a PR6 2003 domain then Blogsearchengine.com is for you. For as little as $14.99 you can submit your blog and have a review written and published there with a backlink to your website or blog, we accept all niche!



Digging into WordPress: Plugins for SOPA/PIPA Blackout

January 18th, 2012

Get involved! Here is a list of stop-SOPA/PIPA plugins to help blackout your WordPress-powered site:

SOPA Blackout Plugin

“This plugin allows you to set SOPA blackout dates for your WordPress website, as well as a variety of options on who the anti-SOPA is shown too. You can have it shown instead of your site for any visitor, you can only show it the first time then let your visitors continue to the site, plus a lot more. This plugin is SEO friendly with temporary redirects being used.”

@ 8,516 downloads

SOPA Strike

“SOPA Strike will automatically redirect all users of your blog to the http://sopastrike.com homepage on Wednesday, January 18th. It automatically adds your blog name and URL to a list of protestors which will be featured on the website.”

@ 7,425 downloads

SOPA Blackout

“On the Tuesday 24th January 2012, the US Senate will vote on the internet censorship bill.
Whilst it is an American law, it has far reaching repurcusions for the web as a whole. Sites such as Reddit have said that on January 18th they are going to go dark between 8am and 8pm. This plugin will let you join the cause. On 18th January your site will display a customisable page. Search engine rankings will not be affected as the plugin sends a 503 status.”

@ 5,175 downloads

Stop SOPA Ribbon

“A black ribbon with the words “Stop SOPA” will be put on in the top right corner of your website, linking to the American Censorship website. Look at the screenshots to see how the ribbon looks. Check out the Help Stop SOPA/PIPA entry in the WordPress news too. Thank you for showing your support!”

@ 4,491 downloads

Go Dark

“This plugin enables websites to ‘go dark’ on January 18th with a customizable message and start/end times to protest SOPA/PIPA and Internet Censorship. It enables you to customize the message displayed on the front end, and optionally display either a stylized ‘Censored’ sign or seal. When ‘dark’ your website will return a 503 Service Temporarily Unavailable status code so as to not damage your search engine rankings, as well as specify the length of time for the visitor to try back after.”

@ 3,338 downloads

SOPA Blackout for WordPress

“The SOPA Blackout for WordPress plugin allows you to easily show your support on SOPA Blackout Day on your blog. Inserts the SOPA Blackout JavaScript file to your blog on SOPA Blackout day.”

@ 2,656 downloads

Simple Stop Sopa

“This Plugin will censor your site on January 18th between 8am and 8pm local time in protest of SOPA and PIPA. It has no admin settings and is super easy to use.”

@ 1,868 downloads

Stop SOPA Widget

“Defaults to show the Stop SOPA message on January 18th from 8am-8pm EST (1300-0100 UTC). Uses cookies so the message is only shown once Loaded asynchronously (won’t block the rendering of your page or cause another point of failure). You can manually trigger the modal before the 18th by adding the hash #stopsopa to the end of any URL on your site. Works across browsers (tested on everything from IE6 to iphone). Our hosted version is served from a CDN for speed/global delivery. Supports SSL. Hackable! Feel free to modify and update however you’d like.”

@ 1,606 downloads

Stop SOPA

“The plugin adds small protest box to your website. By default it’s collapsed, but once clicked, the Stop SOPA box appears. On settings page you can specify the position of the protest box: either at the right bottom corner or at the middle right edge. You also can turn on/off “Blackout Day” option. In this case website will show black screen (click demo link below to view the screenshot) and return 503 status (no problems with search engines) on 18th January 2012, 8:00AM – 8:00PM (server time). By placing this box on our WordPress websites we are protesting against of SOPA.”

@ 1,321 downloads

CENSOR ME

“This plugin is essentially an “off switch” for your website. When activated, the site is mostly blacked out by a banner for the americancensorship.org website. As the admin bar is left uncovered, all that is needed to reverse this is deactivating the plugin. Join many other WordPress sites in protesting censorship legislation being considered by the US Congress!”

@ 440 downloads

Stop SOPA by Zachary

“The site will look dark and will have just one spot of light. This spot of light will move with the mouse cursor, and the message will revealed.”

@ 29 downloads

Stop SOPA and PIPA Plugin

“an SEO Company developed this plugin which will schedule a temporary redirect for all your incoming WordPress blog traffic to the official Stop SOPA page, where people can cast their vote- Congress is about to pass internet censorship, even though the vast majority of Americans are opposed. We need to kill the bill – PIPA in the Senate and SOPA in the House – to protect our rights to free speech, privacy, and prosperity.”

@ 19 downloads

More info..

..is popping up everywhere! The Google Homepage is a great place to start, plus here are a couple of other resources:

May the force be with us!