WordPress plugins

5 WordPress Plug-ins you should Install

I have been working with WordPress for more than four years now, both as a personal blogging platform and also as a full fledged Content Management System for websites. It’s been a great four years, right from the day I found the awesomeness of WordPress to the multiple releases on WordPress and the day I started regularly contributing on one of the major WordPress forums.

Any WordPress user worth his salt will know that the full power of the CMS platform is behind it’s series of plug-ins and that’s what this post is about. The top 5 WordPress Plug-ins I always install whenever I deploy a WordPress based site.

The reason why I chose these plug-ins as the top 5 is because they resonate very well with the top 5 things that you need to do when you launch a site.

Jetpack

Jetpack plug-in by Automattic

This is the ultimate plug-in by the good folks who made WordPress, Automattic. It comes jam-packed with some awesome set of features such as –

  • Social Sharing options below your post
  • Stats embedded within your Admin Dashboard
  • A mailing list functionality to email your subscribers your post content which you publish to your blog
  • Auto-sharing functionality to share your post’s link to your favourite social networks
  • A beautiful carousel for browsing through a series
  • A mobile theme adapter which ensures that your site looks great on mobile clients as well
  • You can connect your app to WordPress.com and manage all of your WP stacks through one location

The awesome part is that the Jetpack team keeps adding to the amount of features available – you can download the Jetpack Plug-in here.

A word of caution here, do not activate any more features than what you actually need! If you do, that increases your script size … ultimately increasing your web page loading times!

WordPress SEO

WordPress SEO Plug-in by Yoast

There are a lot of SEO plug-ins out there in the WordPress community, but THIS is the ultimate plug-in that you have to install. A couple of years back, if you would have asked me to recommend an SEO plug-in, I would have recommended All in One SEO, but trust me folks, WordPress SEO is so much better! In fact I think it’s the cat’s paw of free SEO plug-ins.

The good part that I liked about this plug-in over all the other plug-ins, is the level of granularity to which you can go to control your on-page SEO. It is also linked to LinkDex which gives you a clear understanding of how your on-page optimization is changing with the content level changes that you are doing for each and every page. This plug-in has been authored by Joost de Valk (aka Yoast) who simply rocks when it comes to SEO and WordPress, he has contributed to some of the best plug-ins to the WordPress community.

Google Analytics for WordPress

Google Analytics for WordPress plug-in by Joost de Valk

I cannot sing enough paeans of Google Analytics. However to add and edit a WordPress theme could be quite difficult if you do not know HTML or do not want to edit your theme (since they frequently update and you end up having to enter your Google Analytics code again and again). This plug-in helps you avoid this by giving you a simple method to integrate Google Analytics code in your WordPress theme.

If you do go ahead with this plug-in and you use Google Analytics, then this is the best Custom Dashboard that you can immediately use. The Custom Dashboard has been created by Yoast for the users of his plug-in, it works very well only if you use the plug-in. Otherwise most of the data reported might be misrepresented.

Google XML Sitemap for Images

This plug-in and the next one are created by an Indian, and I find them pretty awesome. Amit Agarwal has created a simple image sitemap generator plug-in which creates an image specific sitemap for your WordPress site. The reason I rely on this plug-in is simple … search engines index content on your site. If you are running a WordPress based site, then you would be using good images for illustrations for your posts. These images are a rich source of higher SERPs on different search engines.

All of us know that Google shows images when you search, having well optimized images and submitting them in a separate sitemap ensures that your images get indexed by Google and other search engines. What that means is that your content slowly starts ranking higher.

Google XML Sitemap for Videos

The Video sitemap Plug-in is also an excellent plug-in to install if you are embedding videos on your site often. Videos rank higher than images which in turn rank higher than simple links when Search Engine Results are being displayed. Having a mix of rich media helps a site.

Ensuring that this rich media is correctly submitted to search engines and getting those indexed is the main trick in getting good search results.

Bonus – Akismet

Once, your WordPress site begins attracting site traffic, people and spammers will start coming to your site. They will leave behind comments on your pages and then it will be difficult to judge whether the comment is a good comment by someone who actually appreciates your site or is it by some spammer who wants a backlink to their site.

This is where Akismet comes into picture. I mentioned this plug-in as a bonus and have not included this in my top 5 only because this plug-in comes default installed in WordPress, but you still have to activate it and submit your Akismet key.

Remember one thing, when you launch a WordPress plug-in do not go haywire and install many plug-ins. They eventually slow your WordPress install, so chose carefully and only make do with those plug-ins that you really need.

What are the top plug-ins that you cannot go without when you deploy a WordPress based site?

Installing WordPress on localhost

WordPress is a fantastic Content Management System, it can be a very simple application to learn for newbies, and it can still deliver the high level of customization that pros typically require. The level of help available across the interwebs for this is also high and it has a thriving developer community. I thought that I would add to the helpful howto’s on WordPress so that a complete newbie can install WordPress on his own machine to give it a whirl.

Here’s a step by step guide on how to install WordPress on your machine –

  1. First ensure you have all the right resources (XAMPP) – This is to ensure that you have a webserver with a MySQL server setup on your machine. Download the setup and install it. It will typically create a folder C:\xampp. Within this folder, make a note of the htdocs folder (this becomes your document root for your local web server). To check whether this has been properly done or not, simply open a browser and type in localhost and see whether you get a welcome page or not!
  2. After setting up your own webserver, you need the WordPress scripts. Download and extract this in your htdocs folder (it should default to a wordpress folder)
  3. Now simply type in this URL in your browser (http://localhost/wordpress). If you are setting it up for the first time, then you will be prompted to create a configuration file. Wordpress Configuration
  4. Now remember, for the next step you need to have created the database for WordPress. This is pretty straightforward. Open another link in your browser (http://localhost/phpmyadmin). This will be installed by default if you are using XAMPP. I am creating a database by the name of wp2, here’s how it looks
  5. Creating Database
  6. Now go to the previous browser window and click on the “Create a Configuration File” and proceed to the next step. Enter the following details, (Database – wp2, Username – root, leave the password blank since the default MySQL password for XAMPP is empty! Click on Submit.
  7. All right! You are all set to run the install (a confirmation for this is the Run the Install button!).
  8. The next screen is simple, what do you want to call your site (Site Title – I would always name it test since its on my local machine), username is admin and password also admin. NOTE – On a live webserver, the usernames and passwords will HAVE to be different.
  9. In the end, I always check off the Allow Search Engines to index this site. Its on my local host and I do not want to do unnecessary indexing and pinging to the search engines.
  10. That’s it, now you login with your username and password (in this case it was admin, admin). You should see the Dashboard of WordPress. Congratulations! You have setup WordPress on your localhost successfully!

I hope you found this helpful! In case if you got stuck anywhere in the steps outlined, do let me know, I shall be more than happy to help you out!

The Office-less Organization

As someone who has been working on the web for the past decade or so, I have always dreamt of my ideal organization as the one which does not have any offices (read that as a work from home). Obviously, I have heard of many IT organizations working on this model viz., Accenture, IBM to name a few.

However, my idea was not just that. I thought it could be possible to have an organization which does not have any offices! All the employees will be operating independently on their own. This utopian organization seemed a dream and I had more or less dismissed the thought … until today!

An excerpt from Wall Street Journal

The Web-services company Automattic Inc. has 123 employees working in 26 countries, 94 cities and 28 U.S. states. Its offices? Workers’ homes.

At Automattic, which hosts the servers for the blogging platform WordPress.com, work gets done wherever employees choose, and virtual meetings are conducted on Skype or over Internet chat.

The company has a San Francisco office for occasional use, but project management, brainstorming and water-cooler chatter take place on internal blogs. If necessary, team members fly around the world to meet each other face to face. And if people have sensitive questions, they pick up the phone.

How freakin’ awesome is that!

I decided to dive further, and learn more about this organization.

Guess what, they are awesome –

Being the makers of some of the web products that I have come to love and cherish – WordPress, Vaultpress, Akismet, Jetpack, CodePoet … damn, their lis goes on. Google cannot be a dream company, this should be the dream company for all of us WordPress tinkerers!

Shortcodes in WordPress

I love WordPress.

The blogging platform is a great content management system (CMS) to run on your website. Not only as a blog, but it can host your entire site. For example, most of the info pages on Pristine are on WP. In fact over the past year or so, my team has been learning how to create themes for WordPress.

At Pristine, we are providing the training schedules course-wise and city-wise on our different pages viz., for CFA Level I page, we are giving the schedule for all cities where CFA Level I is being conducted, for the Mumbai page, we are giving the schedule for all courses which are being conducted.

It does not take a rocket scientist to figure that there is a lot of duplicate information (which needs to be constantly updated) on different pages. With 8-10 centers and 6-7 courses that means anywhere between 50 to 70 pages which need to be updated whenever the training schedule changes. What a nightmare!

That’s where Shortcodes come in. Shortcodes are essentially functions that you can call from the WordPress CMS. Those of you who have used WP in the past would know that the WP platform is very easy to publish content ensures that you can only enter HTML in the publishing mode. We cannot write PHP scripts within the WP pages.

One way is to customize your templates, but if you want to run the script within your WordPress Publishable Content, then Shortcodes is the elegant solution. All you have to do is declare a function in the theme’s corresponding functions.php file, declare your short code and bind that to your new function. Voila! Now you have your own short code!

So, in this example, all I have to do is create a filterable query for the training schedule and pass either the city or the course as an argument in all my pages. Every time the schedule changes, all I have to do is update it once in the database, and the content will get auto-updated in all my 50-70 pages.

Upgrading WordPress

With the WordPress 3.3 update coming out, I decided that it was about time that I upgrade the wordpress running on our company’s website from the lowly 2.7.1 to the current version. This has been a thorn in my side from quite some time (about a year now). I had earlier attempted to correct this, however direct update options available in WP always resulted in broken themes or worse, broken functionality. It’s a nightmare when you have to consider the SEO juice you would be loosing because of the change in URLs. Even if I put in 301 redirects, it was too much of an effort to consider the update.

Installation

  • Christmas and New Year is always a slow time for any business, the perfect time to update WordPress. Also, using Google Analytics, I noted the time of the day when we receive the least no. of visitors (2am to 7am IST, when the no. is around 300-400 visitors per hour, else it goes as high as 1700-2000 visitors per hour)
  • The first thing I did was ensure that my hosting environment was compatible with WP 3.3. Turns out that my PHP version was not updated. I found this excellent guide to upgrade PHP from 5.1 to 5.3.
  • Once that was done, I double checked to see if my existing packages were compatible with the updated PHP. Turns out, that a lot of the functions in the previous version were deprecated. My error_log was looking like a battlefield scarred with PHP Fatal Errors, and PHP Warnings. Some quick fixes, I was ready for the WP update.
  • Using the awesome 5-minute WP install, I installed a dummy version on a hidden subdomain. I was sure to disable search engines on this deployment.
  • I then exported all the data from our current system and imported it into this deployment. This was the easiest part!
  • I then copied our theme files, and installed it into this new WP package (you have to check the theme files for deprecated methods)
  • I then copied all the plug-ins from the old to the new WP. These were then updated. The good thing about updated plug-ins is that you get awesome set of functionalities and security updates that you so wanted. Note to New Webmasters: There are a lot of plug-ins out there whose older versions contain backdoors (more on this later), trigger false alarms on search engines, etc which need to be taken care of. Earlier I used to this clean-up using shell scripts, but not anymore :)
  • Now with a bit of tweaking here and there, the site had URLs which were function properly (no more worrying about loosing on our SEO efforts).
  • With adding a fair bit of plug-ins into the system, came a new problem – conflicting jQuery!! Earlier this month, I had asked our intern to hand script a jQuery menu, and that was conflicting with the other jQuery scripts. Fortunately, we have jQuery.noConflict().

A whole new World!

  • WordPress 3.3 is breathtakingly awesome!
  • The custom fields have been nerfed, now you have to do a fair bit of tweaking around to introduce custom fields in pages. But that allows me to have a higher controls on them. Earlier custom fields had this nagging way of getting out of control in a wordpress installation. Not any more!
  • Plug-ins like All-in-one-SEO make for better and simpler SEO efforts. All my worries of duplicate title tags are slowly vanishing away!
  • Better plug-in support! Earlier where I would myself script a small workflow on the WP installation, now I can again rely on the huge set of awesome wordpress plug-ins

The good part of this transition was that it took me a little of 3 hours to completely migrate. Of course for some other media (such as videos, pdfs, etc.) which I did not want to migrate to a new folder, I created softlinks and the task was done. All in all, if you are facing legacy wordpress systems, and are worried about upgrading them to the latest version … dont. The best method is to deploy a new version and migrate all the content (however ginormous the task sounds, its a better approach).

Mastering a Mammoth

As part of my work, I am also maintaining the corporate blog these days. Sadly, the content management system (CMS) on which the blog is based on is kinda out of date. So much so that it has become virtually impossible to recreate the same environment on my own desktop.

What this means as a software person, I have to make changes and edits on a production platform. Not only does this give me the heeby jeebies, but also it makes the task a bit too tedious. Any one who has worked on an online server knows the PITA (pain-in-the-ass) it is to edit code files online.

Over the past week, I have been trying to handle this mammoth. I so miss my own agile and flexible WP 3.04 platform!!

In fact typing this blog has made me de-stress :-)

One of the great things about working with legacy CMS is that you get to (or rather have to) understand the exact workings of the CMS, you suddenly start seeing a plethora of possibilities and that gives you a sense of fulfillment.

Aside

WordPress Theme!

wordpress-spanner Created or rather tweaked my first WordPress theme ever. Have taken the Magazine theme and with the help of Angad worked out a flashy new theme for our latest blog at work.

Interesting to note that many people do only this for a living and some of the themes fetching a whopping $200 per piece. Makes me want to learn WordPress as an engine and contribute (eh … loosely using the term here!) to the WP community.