[30 Days] Trading WhatsApp For Reading

I wanted to try something new for the next 30 days. So here I begin.

I have read about and watched Matt Cutt’s talk on Try something new for 30 days. But I haven’t considered doing it until today.

It’s the beginning of September and is a perfect time to try something new. One of the things that I’ve wanted to do, is to start reading books. So I’m gonna try and read couple of books in the next 30 days. I would love to hear from you any good book recommendations in the comments.

Since my days are packed, I’ve decided to trade off/limit the time I spend on WhatsApp and start reading books. So you might not find me active on WhatsApp until the end of September.

Meanwhile, you can track my reading progress on goodreads and you can reach me via Twitter.

Should You Unit Test Private Methods Of A Class?

Have you wondered if you have to write unit tests for private methods of a class? In this post, I’ll answer that question for you.

This question is answered with the context of WordPress in mind. But this serves as a general rule, irrespective of the language.

I fell in love, once again, with WordPress so much that I started contributing to few open source projects.

I began my contribution by fixing small bugs. Lately, when I was writing test cases for a WordPress plugin, I had this question, “Should we write unit test case(s) for the private methods of a class?”

I didn’t have an answer for a moment, but then I figured that the private methods are used by the public methods. By writing test cases for the public methods of a class, we cover testing the functionality of the private methods. So the answer my question is ‘No, we don’t have to write unit tests for private methods of a class’.

What Should You Do If A Private Method Warrants Testing?

Even after covering the public method that uses the private method, if your private method warrants test to cover, then you should probably think of breaking the private method into smaller units. The basic rule is that a function must do only one specific thing.

In order to verify my understanding, I did a quick Google search and found that Brian, a software developer, had mentioned the same in his blog.

Microsoft-in-campus Session On Power BI [Part 3]

Meet the cloud based analytics and visualization tool from Microsoft – Power BI. Power BI is a easy-to-use self-service business intelligence tool.

This post is a part of the series called Microsoft-in-campus session on Power BI.

  1. Microsoft-in-campus Session On Power BI – Sharing My Insights
  2. Microsoft-in-campus Session On Power BI [Part 1]
  3. Microsoft-in-campus Session On Power BI [Part 2]
  4. Microsoft-in-campus Session On Power BI [Part 3]
  5. Microsoft-in-campus Session On Power BI [Part 4]

In this session, the speaker enlightened on the following.

  • Power BI building blocks- Datasets, Reports and Dashboards
  • Hierarchy between Datasets, Reports and Dashboards
  • Creating a sample report
  • How to save a report?

Power BI Building Blocks

Power BI has three building blocks namely the dataset, report and dashboard. You can understand the hierachy between these building blocks from the following definitions.

A dataset represents a single source of data that you connect or import into Power BI. Dataset holds the information of the data source and the information required to connect, like credentials. A dataset once created can be used in multiple reports.

A report in Power BI is intended to represent data using visualization such as charts and graphs. In order to create a report, data is required. We can import or connect to data using datasets.

Reports can be manually created by using datasets. Or, Power BI automatically creates reports for you when you connect to online services (through service content packs). Power BI desktop lets you create reports by combining different data sources.

Content pack is a simple way to organize and package datasets, reports and dashboards together into a single entity.

Learn more about Content packs in part 2 of this series..

Dashboard is a way to organize and present insightful reports in one place. A dashboard is canvas on which you can pin with tiles and widgets. Each tile is a visualization from a report.

Widgets are special types of tiles with which you add entity like text, images, etc that are not part of the report.

Learn more about Datasets, Reports and Dashboards.

How To Create A Report?

Creating a report involves the following.

  1. Signing up for Power BI (assuming you don’t have a Power BI account)
  2. Connecting to a data source
  3. Creating a simple report

Sign up for Power BI: You can easily sign up for Power BI by heading to All you need is an Organization email address to get started with Power BI. Email address from email service providers like Gmail, Yahoo, Outlook, etc. cannot be used to create an account with

Sign up for a Power BI account
Sign up for a Power BI account

Connect to data source: In order to create a report, we need data. The speaker used the data from the samples provided by PowerBI and I’ll be using the same. If you wish to follow along, you can find the samples in the Welcome screen. We will be using the Retail Analysis sample. You can learn more about the sample here.

Power BI Welcome screen
Power BI Welcome screen
Retail Analysis sample
Retail Analysis sample

Create a simple report: The Retail Analysis sample is a content pack that contains the dataset, report and dashboard. You need to understand the data to create reports and to draw insights with your data.

Power BI Service - Dataset, Report and Dashboard
Power BI Service – Dataset, Report and Dashboard

The Retail Analysis sample focuses on sales data and compares metrics such as sales, new stores, margin, etc. between the current year and the previous last year.

Let us create a couple of reports and pin a few on to a dashboard.

Step 01: Click on the dataset using which you want to create a report.

Step 02: You will see a blank canvas with Visualizations and Fields windows on the right sidebar.

To create a report, click on Dataset
To create a report, click on Dataset

Step 03: We shall create a simple table report to compare total units sold last year and this year each month during the fiscal year. In order to do that, drag and drop the Fiscal Month field from the Time sheet on to the blank white canvas. By default, PowerBI creates a table visualization when you drag and drop a column from the Fields window.

Drag the fields on to blank canvas to create visualizations.

Step 04: Drag and drop Total Units Last Year and Total Units This Year columns over the table report created earlier. PowerBI automatically udpates the values based on the Fiscal Month that you placed on the canvas earlier. The Visualization windows lets you to gain more control and allows you to change and format the visualizations.

Step 05: You can save the report by click on the Save button. Once you save the report, you can find it under the Reports section. The yellow asterisk indicates that you have created the report recently. This behaviour is applicable for datasets and dashboards.

I have created an additional report page and few other visualizations other than the table visualization.

Creating additional pages in a report
Creating additional pages in a report

Step 06: Now, let us pin the report the to a dashboard.

To pin a visualization to a dashboard, hover over any visualization and you will find the ‘pin’ icon. Click on the pin icon and you can pin it to either a new or an existing dashboard. That’s it. This way you can pin visualizations that are in the similar context to present data in a meaningful way.

Hover to pin
Hover on a report to pin it to a dashboard
Pin to dashboard
Pin the visualization to either a new or existing dashboard
Creating dashboard by pinning required visualizations.
A sample dashboard with reports that I created.

We now have successfully created a report, learnt how to pin reports to a dashboard and also learnt to save reports.

The speaker also demonstrated how to create reports in Power BI Desktop and upload it to the Power BI service. You can learn more about that from the Power BI documentation portal.

Microsoft-in-campus Session On Power BI [Part 2]

Meet the cloud based analytics and visualization tool from Microsoft – Power BI. Power BI is a easy-to-use self-service business intelligence tool.

This post is a part of the series called Microsoft-in-campus session on Power BI.

  1. Microsoft-in-campus Session On Power BI – Sharing My Insights
  2. Microsoft-in-campus Session On Power BI [Part 1]
  3. Microsoft-in-campus Session On Power BI [Part 2]
  4. Microsoft-in-campus Session On Power BI [Part 3]
  5. Microsoft-in-campus Session On Power BI [Part 4]

Data source and Dataset

We can create powerful visualizations and reports using Power BI when we connect to data. Each time we connect Power BI to a data source, a dataset is created.

A dataset contains information about the data source, its credentials etc. A data source can be anything ranging from a simple csv file to an on premise enterprise database.

A data source is where the data in a dataset really comes from.

Let us see the different data sources that Power BI can connect to.


You can connect variety of file types such as csv, excel, txt files to Power BI and draw insights using the data from the files.


Power BI has the potential to connect to both on premise databases and to the cloud databases. The real advantage of connecting to cloud databases is that the connection is live. This is really useful as the data is being queried from the database as we start creating visualizations and reports.

The speaker emphasized on real-time connection and live connection at this point. Power BI supports live connection which means the data might be few minutes older than the data in the database unlike the real-time connection.

The speaker also mentioned that Power BI is an in-memory tool and the amount of data it holds for processing is only limited by the machine on which Power BI is accessed.

3.Other Data Sources

With Power BI you can connect to number of online services such as Facebook, Google Analytics, Salesforce Reports, Zendesk etc. and draw insights.

Microsoft continuously builds connectors to connect to variety of online services making it easier for the users. Users are provided with (service content packs) pre built reports and they’re literally ready to go once they connect to a service.

Content Packs

In order to understand what content packs really are, we need to understand datasets, reports and dashboards.

Content pack is a simple way to organized and package datasets, reports and dashboards together into a single entity. We shall be discussing about reports and dashboards in the next blog post. This is little weird but this is how the session was organized.

There are two types of content packs – Services and Organizational. Learn more about the types of content packs.

Organizational content pack – Assume that the sales reports of an Organization have to be shared within the Sales management folks within the organization. Rather than sending individual reports separately, the reports and the corresponding datasets can be bundled together as an Organizational content pack and can be shared across the sales team.

Learn more about life cycle of an Organizational content pack and about data security.

Personal Gateways

Power BI Personal gateway acts as a bridge to securely transfer data between on premise data source and Power BI service.

Power BI personal gateway comes only with the Power BI Pro version. The data transfer is secured through the Azure service bus and prevents the need to open additional ports in Windows Firewall.

Personal Gateways can be run either as a service or as an application in Windows machines. Personal gateways are used with data sources that supports refresh.

Learn more about installing and setting up personal gateway.

The speaker concluded the second session with the above mentioned topics. Stay tuned for the upcoming sessions, as there are demos presented.

OTN Yathra 2016 – My Experience and Takeaways

In this blog post, I’ll share my experience as a first-timer to the OTN Yathra conference. I’ll also share my takeaways that will help you to get maximum value if you’re planning to attend conferences.

Disclaimer: The opinions expressed here are my own.

One of the goals I had set for 2016 is to attend at least one event/conference before the year ends. I’m glad that I accomplished it by attending the OTN Yathra 2016 conference on April 24, 2016.

Before attending the OTN Yathra conference, I had neither an idea on what was it all about nor what to expect. So I’m writing this post with the intention to shed some light for people like you who are curious to know about OTN Yathra.

My Experience

What is OTN Yathra? – OTN Yathra is a conference organized by Oracle ACE directors and volunteers across India in six major cities (Chennai, Bangalore, Hyderabad, Pune, Mumbai and Noida). The main focus of the conference is to unite the Oracle community members to raise awareness on happenings around the Oracle world and to build network amongst the community members.

Technical conferences/events are one of the easiest ways to keep yourself up to date on a technology and also a way to meet and network with new people within that community.

How did I hear about OTN Yathra and does it cost to register? – I was keen on finding a conference/event on Oracle database technology. Eventually I ended up finding OTN Yathra through social media. OTN Yathra is a one-day conference and the registration to the conference costs 700 INR which includes lunch. Note that the early bird registration costs only 500 INR including the lunch.

How did I spend the day? The day of the conference had arrived and I showed up half an hour prior to the actual start time. As soon as I hit the welcome desk, one of the members asked if I can volunteer with souvenir distribution for registered members. I was more than happy to help and I volunteered.

Volunteering at OTN Yathra 2016 conference
Volunteering at OTN Yathra 2016 conference

I started to introduce myself to two other volunteers. I usually shy away from speaking to strangers but I opened up the conversation on that day. After all, the purpose of these conferences is to network with people within the community.

The conference was scheduled to start by 9.00 AM. The conference began with the introduction session and the organizers presented about the what OTN Yathra was all about and also about the Oracle ACE program. As soon as the one of the organizers talked about the ACE program he acquired the attention of the attendees. Because most people hardly knew about the ACE program.

OTN Yathra 2016 - Introduction session
OTN Yathra 2016 – Introduction session

By the end of the introduction session, the organizers promised goodies for the attendee who tweets more with the hashtag #OTNYathra.

OTN Yathra 2016 - Twitter Hashtags

The agenda for the conference has been shared in OTN Yathra’s website beforehand. The attendees can pick up sessions of their choice from the agenda. All of the attendees were hoping to learn, new and interesting stuffs.

OTN Yathra 2016 Agenda
OTN Yathra 2016 Agenda

As you can see from the agenda, the sessions were interesting and I couldn’t wait any longer to hear from the speakers. As a first-timer, I felt that the sessions were very insightful and motivational. I believe that most people would have felt the same. The sessions I most enjoyed were the ones presented by Connor McDonnald, Hariharaputhran, Sai Penumuru and Chaitanya.

Are the sessions suitable for everyone? The sessions were focused more on the intermediate to advanced level Oracle users.

OTN Yathra 2016 - SQL Tuning session
OTN Yathra 2016 – SQL Tuning session

Breaktime & Lunch – During the breaks, I happened to speak to two speakers and it was really amazing to listen to their stories. Snacks and lunch were provided during the breaks and I must admit that the lunch was good.

OTN Yathra 2016 - Lunch time

Around 5 PM, all sessions were completed and all the attendees gathered for the closing ceremony. The interesting part was when all the speakers were invited to the dais and the attendees were allowed to ask questions.

Surprise goodies! – Finally, to my surprise, the organizers called out all the volunteers and thanked by rewarding them with a book. I was excited to receive the book. The closing ceremony came to end an after the entire group was photographed.

Goodies time
Goodies time

OTN Yathra 2016 - Group photo

A big thanks to the Organizers – Organizing a conference is no easy task. I really appreciate Sai Janakiram and his team for organizing the OTN Yathra 2016 conference.

I would say – OTN Yathra is a journey destined to learn, share and to spread the love for Oracle.

Things that put me off – During the introduction session, the organizers promised goodies to the attendees who send highest number of tweets with hashtag – #OTNYathra. It was very disappointing to see that they didn’t have any mechanism/tool to count the tweets sent with the announced hashtag.

Takeaways from OTN Yathra

If you are attending conferences only to learn without networking with folks around, you’re missing ton of opportunities. I’ll share a few tips that I picked up along the way which might help you to get maximum value from the conferences you attend.

Prepare your questions prior to the conference. I learnt that preparing insightful questions prior to day of the conference can help you get answers from experts and also makes you to stand out in the eyes of the speakers. This could lead to an interning or business opportunity.

Don’t forget to take your calling card. Don’t expect every person you meet to have an account in the favorite social media of your choice. Having a calling card (good ol’ traditional way) provides an easy way for you and the other person to stay connected after the conference. Most people I met didn’t have a Twitter account. Thankfully, all of the speakers had theirs and I was able to connect with them.

Choose people to network with. It is hard to meet and make friends with all people you see in the conference. Most conferences will have a meet up page (OTN Yathra has one) or a similar way to explore the attendees and the speakers. Learning to identify and choosing people to network with, benefits you and the person you connect to. At the least, you will refrain yourself from people who may not want to befriend with you.

Ditch the internet and carry the agenda. Lots of people, due to lack of internet connection, were enquiring others about the agenda. Jotting the agenda down or taking a snap of the agenda will be handy during the conference.

Do follow up on what was promised. Sometimes, the organizers/speakers might forget what they had promised you on the day of the conference. For example, you might have been promised to receive slides or links to the articles. Don’t wait up for days, to receive what has been promised. Instead, do follow up with the organizers/speakers. This way you don’t miss any good stuff.

Digital recorder might be handy. Carrying your digital recorder might save your day. You can record the sessions and listen to them at your convenience. This might be handy if you’re unable to follow speakers who speak fast and also saves you from losing important stuffs that you might have missed to note. I would recommend you to buy Zoom H2n recorder if you don’t own one (Amazon US sells it cheaper that the Indian store).

What are your takeaways from the conferences that you attended? Please do let me know in the comments.

Image credits

My First Pull Request

In this blog post, I’ll share with you how I ended up sending my first pull request in GitHub.

It all started with my eagerness to learn how WordPress sites and plugins are built. Learning becomes more and more challenging until we actually work on a technology we wanted to learn. So I decided to get my hands on WordPress.

Since I’m working full-time, I decided to spend few hours a week to learn and improve my WordPress skills. To begin with my learning journey, I started looking to work on a small WordPress project.

My exploration ended when I found an opportunity to work on a (tiny) bug in a WordPress plugin called Easy Retweet. This plugin allows you to add Tweet button to your WordPress site and it was originally developed by Sudar, a prominent web and WordPress developer.

Now that I have found a project, I had to set up my development environment to work. I remembered using Xampp to set up my development environment when I played with WordPress during college days. So Xampp was my preference.

But Sudar, the plugin author, recommended to use Vagrant and VVV to set up the environment. Honestly that’s the first time I’m hearing about Vagrant and VVV. Through repeated trial and error, I had finally set up my development environment using Vagrant and VVV. It took me a week though, to set it all right in my Windows machine.

Now that my development environment is ready, I have to get the actual plugin code to start working on it. Easy Retweet plugin (repo) is hosted at GitHub and I’m a total newbie when it comes to Git and GitHub. Thankfully, DevTipsShow and C0deporn YouTube channels helped me to quickly get started with both.

I forked the plugin repo and started to work on the plugin. Forking is creating your own repo to work on from the original one. After a couple of hours, I was able to fix the issue. The feeling you get when your code works as expected is almost beyond words.

After my changes are complete, I had to intimate the author and request to merge my changes with the original repo. In the GitHub world, this is called sending a pull request. That’s how I finally ended up sending my first pull request.

When my pull request was merged, I felt so excited and welcomed to the open source community.

I’m writing this post not to brag about how I did things, but as a reminder to myself to keep learning the web technologies as they evolve.

Now it’s time for me to hear from you. Have you sent your first pull request? If yes, then share your story and I would love to read.

Otherwise consider making your first contribution to the open source. If you need some resources to get started, check out As the name says, it is an initiative by Scott Hanselman and Kent C. Dodds for the first timers to take their baby steps towards open source.

Microsoft-in-campus Session On Power BI [Part 1]

Meet the cloud based analytics and visualization tool from Microsoft – Power BI. Power BI is a easy-to-use self-service business intelligence tool.

This post is a part of the series called Microsoft-in-campus session on Power BI.

  1. Microsoft-in-campus Session On Power BI – Sharing My Insights
  2. Microsoft-in-campus Session On Power BI [Part 1]
  3. Microsoft-in-campus Session On Power BI [Part 2]
  4. Microsoft-in-campus Session On Power BI [Part 3]
  5. Microsoft-in-campus Session On Power BI [Part 4]

What Is Power BI?

Power BI is a cloud based SSBI(self-service business intelligence) tool. You heard that. It’s cloud based and all you need to use Power BI is just a browser.

With Power BI you can analyze and visualize data. You can collaborate with your team, create reports and share the reports with intended people. Visit and get your hands on the Microsoft’s SSBI tool right away.

History Of Power BI

Until 2015, Microsoft as part of Business Intelligence, was focusing more on Power Query, Power Pivot, and Power View and MSBI tools. Though these tools were powerful, yet it required the involvement of IT developers to come up with a report or analysis.

Starting from early 2015, Microsoft started to shift its focus towards SSBI. This is where Power BI plays an important role. Power BI is not just intended for BI developers. Anyone with data wanting some insights can use Power BI. It’s easier to analyze and visualize data with Power BI. This tool leverages HTML 5 to render visualizations in browser.

How Do You Use Power BI?

There are two ways to use Power BI.

  1. Power BI Service (
  2. Power BI Desktop

What Is Power BI Service?

As mentioned earlier, Power BI can be accessed via and this cloud SaaS is called the Power BI service. To access the cloud service, you require a modern web browser and a work email address. You cannot sign up for Power BI using emails from free service providers like Gmail, Yahoo or Outlook. No other special hardware or software is required.

What is Power BI Desktop?

Power BI Desktop is a free application that works in conjunction with the Power BI Service. Power BI Desktop allows you to do the following.

  • Get the data from variety of sources
  • Create relationships between your data and enrich your data model
  • Create and save your reports
  • Upload or publish your reports

The reports created using Power BI Desktop can be published to Power BI Service right from the Power BI Desktop application. Both Power BI Service and Power BI Desktop are free.

Power BI, in terms of pricing model, is categorized as

  • Power BI (Free)
  • Power BI Pro

You can upgrade to pro version by purchasing the license.

How Power BI Pro Differs From The Free Power BI Service?

Power BI Pro allows you to consume live data sources, on premise data and allows to collaborate with team using Office 365 groups. With the free Power BI Service and the Power BI Desktop, you can only analyze and visualize data but cannot share or collaborate with your team.

The below image shows the comparison between Power BI and Power BI Pro.

Power BI vs Power BI Pro Power BI vs Power BI Pro

Learn more about Power BI vs. Power BI pro.

How Much Does Power BI Cost?

Power BI and Power BI Desktop versions are free. The Power BI Pro version costs $9.99/user/month (600 INR/user/month)

Power BI And On-Premise Data

This Microsoft-in-campus session was intended to encourage the Organization to use Power BI and the speaker focused on how the Organization can connect with on premise data to analyze and visualize data.

Power BI is not available as an internal product or as an internal service. However, by using Power BI service, Organizations can collaborate and share reports using the on premise data.

Power BI can be connected to variety of data sources including files and databases. It can also directly connect to third party applications such as Salesforce, Mail Chimp, Google Analytics, etc. using the built-in connectors.

The speaker concluded the first session with these topics.

Microsoft-in-campus Session On Power BI — Sharing My Insights

In this post, I’ll share my insights from the Microsoft-in-campus session on Power BI that I attended recently. The session focused on how developers and professionals can leverage Power BI.

Technical conferences and sessions are great opportunities to learn new technologies, tools and to meet exciting people.

Recently I had the opportunity to attend a session on Power BI for developers and professionals and I would like to share with you the stuffs that I learnt from the training.

If you’re new to Power BI, then this blog post is absolutely for you. I have divided the blog post into a four part series based on the session topics.

This post is an introductory blog post and will give you a quick overview of what will be covered in each blog post.

The speaker of the session is Kedar Ghanekar, Solution Specialist and Practice Head at Synergetics.

Okay, let’s get started.

The one-day session was broken into four small sessions. The following are the broad classification of the one-day training session.

  1. Introduction to Power BI
  2. Power BI Data Sources
  3. Power BI Reports and Dashboards
  4. Power BI Live Reporting

Introduction to Power BI

This blog post will focus on introducing Power BI and its capabilities.

The speaker started by introducing Power BI and the tools included in the suite. He then explained the history of Power BI, how to get started with Power BI and the infrastructure needed to use Power BI.

Later in the session, the speaker covered the pricing model of Power BI and whom Power BI is intended for.

Power BI Data Sources

We cannot speak of analysis and visualization without connecting to data. This blog post focuses on Power BI’s ability to connect to variety of data sources.

The speaker focused on the variety of data sources such as files, databases and cloud apps that can be connected to Power BI to acquire data for analysis.

The speaker also focused on Content Packs in Power BI in this session. Content packs allows to share reports and insights with intended people or groups.

Pushing data to Power BI via Personal Gateways was also discussed.

Power BI Reports and Dashboards

This blog post enlightens on how you can generate reports and visualizations after connecting to data.

The speaker began by highlighting the three important components of Power BI – Datasets, Reports and Dashboards. The hierarchy between these components were also explained.

The speaker then continued the session with a simple demonstration. A sample report was generated and then the speaker demonstrated how the reports can be enhanced by adding parameters, filters, etc. Adding parameters and filters gives more flexibility to the end users in understanding the data.

The demonstration also included saving the reports and the speaker explained the various file formats used in Power BI.

Power BI Real-Time Reporting

This session focused on creating real-time dashboards and reports using Power BI. This allows to create visualizations with data continually updated.

REST API in Power BI allows to fetch and push data to Power BI from client/web applications. This is very useful when creating real-time reports. The speaker gave an overview on how REST API in Power BI works and demonstrated with a small console application.

The speaker also mentioned how Azure stream analytics can be used with Power BI for real-time reporting.

With this the session came to an end and the speaker opened up for questions.

The session was engaging and I felt that it session proved to be effective and the speaker attained the purpose of the session — introducing Power BI to Business Intelligence developers and Professionals.

Thanks to my Organization, Synergetics and Microsoft for organizing such an informative and effective session.

What Should You Do After You Install WordPress?

Here is my favorite list of things to do right after the installation of WordPress to tighten the security and to improve the performance of your WordPress website or blog.

Have you ever wondered what should you do after installing WordPress? Before you hit the publish button for the first time, consider tweaking the following settings to improve performance and to harden the security your WordPress website.

I have sectioned the article based on where the settings have to be tweaked.

  • Tweaking settings in WordPress Admin Dashboard
  • Tweaking settings in (you read it right!)
  • Tweaking .htaccess file
  • Tweaking your themes’s functions.php file
  • Tweaking robots.txt file

Tweaking settings in WordPress Admin Dashboard

1.Change Your Site Title, Tag Line and Time Zone

Titles are the first thing that a person sees about your site in Google search results.

Patrick Sexton

Site titles and taglines are used to describe your website and are visible in search engine results when people search for your website. Site title generally describes your business name and tagline describes about your business in few words.

You can change site title and tagline by navigating to Admin Dashboard → SettingsGeneral.

Change Site title, tagline and timezone in the WordPress dashboard

In most themes, the site title and the tagline together becomes the content of the title tag. Generally, it is advisable to keep the content of the title tag short and preferably less than 70 characters as part of the search engine optimization.

Here is a guide to write better site title and tagline for your WordPress site and few tips to enrich your site title and taglines with keywords for search engine ranking.

Setting proper timezone is essential if you prefer to schedule your WordPress posts for auto-publishing. This setting ensures that the post is published at the expected time.

You can change the timezone settings in the same screen (Admin Dashboard → SettingsGeneral). Timezone settings are specified in UTC format and you can use an online converter to identify your timezone in UTC format.

2.Change Your Permalink Structure

WordPress Permalink settings helps you modify the structure of your URL’s. The default WordPress permalink structure is This structure gives no clue about the page either to your visitors or to search engines.

Consider an URL for example, This URL states that the page is about things that you should do after installing WordPress, even before visiting the page. Both your visitors and search engines will engage more if WordPress permalinks are descriptive rather than clueless numbers.

So it is advisable to have pretty URL’s like the one shown above. You can change the WordPress permalinks to a lot prettier structure by heading to Settings → Permalinks.

Change WordPress permalink structure from WordPress Admin dashboard

Yoast’s guide to WordPress Permalinks will help you find a permalink structure suitable for your website or blog.

3.Move out the Media Folder

Amit Agarwal from suggests to move the default WordPress media folder (wp-content/uploads/) to a sub-domain to improve performance.

In order to achieve this, you need to create a sub-domain (ex. Once you create a sub-domain, create a folder to store your media files in your sub-domain and note the relative path to this folder.

For example, create a folder named 'Uploads' in your sub-domain. This way it becomes easier to back up. Also, your URL looks a lot cleaner with this structure.

If you had done it right, your URL will look like and your relative path will look something like public_html/your-domain/your-folder-name.

WordPress 3.5 removed the option to change the media upload path and URL. But you can use the Upload Url and Path Enabler plugin to enable these settings. Once you install and activate the plugin, the following two fields will be visible under Admin Dashboard → Settings → Media

Add Upload URL and Path Enabler plugin

Upload URL and Path Enabler plugin settings menu

  • Store uploads in this folder – /home/your-sub-domain/your-folder (Note: no trailing slash)
  • Full URL path to files – (Note: no trailing slash)

4.Enable JetPack authentication

JetPack authentication off-loads the user authentication from your server and allows users to login your self-hosted WordPress via

Download and activate the JetPack plugin. Once you activate the plugin, JetPack asks you to connect to Click on 'Connect JetPack' to connect JetPack to your account.

Install JetPack by plugin

If you don’t have a account, you will be provided an option to create an account. You can then connect JetPack with

There are two steps involved to enable JetPack authentication.

  • Once connected, head to Dashboard → JetPack and enable Single Sign On under the Performance & Security tab.
  • After enabling Single Sign On, go to Settings under JetPack tab in the dashboard to configure Single Sign On. Click on the Configure link and check the 'Match by Email' check-box. Click on 'Save Changes' to apply the changes.

Activate Single sign on from JetPack settings menu

Single sign on configuration page

Hoo Hooh.. Congratulations, you have successfully enabled JetPack authentication for your WordPress website.

When you head over to your login page (, you should see a 'Login with' button in your WordPress login form.

5.Install Yoast SEO plugin

Yoast SEO plugin can greatly help your WordPress website with search engine optimization.

Here is a YouTube video that walks you through the Yoast SEO plugin settings and you can customize it based on your needs.

6.Generate SiteMap

Sitemaps help search engines to index your website better. You can use Yoast SEO plugin to create sitemaps.

In order to create XML sitemaps using Yoast SEO plugin, navigate to Admin Dashboard → SEO → XML Sitemaps

If you don’t prefer to use Yoast SEO plugin you can still generate sitemaps using Google sitemap plugin.

7.Schedule Backup

Backup is very crucial for your WordPress website. Whether you wish to move to a different hosting provider or your website is hacked, restoring your website is impossible without a proper backup.

ValutPress from Automattic does a wonderful job when it comes to backing up your WordPress website or blog. But this is plugin is not free and it is worth every penny.

8.Use A Cache Plugin

WordPress recommends to use a caching plugins like W3 Total Cache or WP Super Cache to improve the performance of your WordPress website.

9.Delete Unused Themes And Plugins

As part of the WordPress housekeeping, ensure to remove unused themes and plugins once in every 3-6 months. Remember, you should never delete the default theme that comes with the version of your WordPress.

Tweaking WordPress Config File

10.Disable File Editing Inside WordPress

Disabling file editing inside WordPress saves you from worrying when an unauthorized person gains access to your WordPress website.

By default, WordPress allows you to edit your theme and plugin PHP files. You can disable this by including the following line in your wp-config.php file.

/** Disable file editing inside WordPress */
define('DISALLOW_FILE_EDIT', true);

You can find the wp-config.php file in the directory where you installed WordPress. All changes to wp-config.php file must be done above the following comment

/* That's all, stop editing! Happy blogging. */

Your Theme’s functions.php File

11.Turn off WordPress Login Hints

WordPress by default shows login hints when incorrect credentials are entered. This information is a security threat and we can stop WordPress from showing them.

Open your theme’s functions.phpfile and enter the following lines.

/** Disable WordPress Login Hints **/
function no_wordpress_errors(){
	return 'GET OFF MY LAWN !! RIGHT NOW !!';
add_filter( 'login_errors', 'no_wordpress_errors' );

12.Remove WordPress Meta Information

Meta tags provide information about your web pages to search engines.

However, there are few unnecessary meta information that WordPress provides by default, that might expose information that are unnecessary and vulnerable in the hands of a potential hacker. So, it is necessary to remove these meta tags from your website.

Add the following code to your theme’s functions.php file to remove the unnecessary meta tags.

remove_action( 'wp_head', 'feed_links_extra', 3 ); // Display the links to the extra feeds such as category feeds
remove_action( 'wp_head', 'feed_links', 2 ); // Display the links to the general feeds: Post and Comment Feed
remove_action( 'wp_head', 'rsd_link' ); // Display the link to the Really Simple Discovery service endpoint, EditURI link
remove_action( 'wp_head', 'wlwmanifest_link' ); // Display the link to the Windows Live Writer manifest file.
remove_action( 'wp_head', 'index_rel_link' ); // index link
remove_action( 'wp_head', 'parent_post_rel_link', 10, 0 ); // prev link
remove_action( 'wp_head', 'start_post_rel_link', 10, 0 ); // start link
remove_action( 'wp_head', 'adjacent_posts_rel_link', 10, 0 ); // Display relational links for the posts adjacent to the current post.
remove_action( 'wp_head', 'wp_generator' ); // Display the XHTML generator that is generated on the wp_head hook, WP version

13.Turn on two-step authentication using JetPack

Two-Step authentication enables an additional layer of security for your WordPress website. You can enable two-step authentication by visiting Login with your credentials and go to your profile by clicking on your avatar in the top right corner.

From your profile page, click on Security menu to enable two-step authentication. This is a simple process and you can easily enable two-step authentication.

Hooray! A big sigh of relief. Now your WordPress website is double secure.

Also, disable the default WordPress login form permanently and restrict users to login only via Single Sign On using This adds another layer of security. But this would require all of your existing WordPress users to create an account on

To permanently disable WordPress default login form, add the following line of code in your theme’s functions.php file.

/** Login via **/
add_filter( 'jetpack_sso_bypass_login_forward_wpcom', '__return_true' );

HTAccess File

14.Disallow Directory Listing

It is definitely a bad idea and a security threat to list files and folders when people browse your website. Depending on your web hosting, directory listing might be turned on/off by default.

In order to turn off directory listing, add the following line to your .htaccess file in your web host’s root folder.

Options -Indexes

Also, make sure to include a blank index.php file in your themes (/wp-content/themes/) and plugins(/wp-content/plugins/) folder.

Robots.txt File

15.Prevent Indexing Of Core WordPress Directories

Use a robots.txt file to disallow web pages that are not intended to be indexed by web robots. You can use a text editor like Notepad and create robots.txt file.

It is a best practice to disallow the following directories to be indexed by web robots.

User-agent: *
Allow: /wp-admin/admin-ajax.php
Disallow: /wp-admin
Disallow: /wp-content/plugins
Disallow: /wp-content/themes
Disallow: /wp-includes
Disallow: /readme.html

After you create the robots.txt file, place it in your root directory of your domain.

Please do leave your WordPress optimization tip as a comment below and I would love to hear from you.


Photographs font & grunge canvas are used in images.

How To Run WordPress On Your Local Windows Computer?

Installing WordPress on your local machine will improve your WordPress workflow despite you being a WordPress user or a developer. Let us learn how to install and run WordPress step-by-step on your local Windows machine.

Are you a WordPress user? Do you think it is a good idea to mess with your website which is used by your target customers or visitors? It is definitely not a good practice to do so.

But, what if you wanted to make some changes to your website/blog or wanted to play around with different themes and plugins? Wouldn’t it be nice to preview the changes, before you modify the actual website or blog?

In order to do that you either need WordPress running on a domain other than your actual WordPress site or on your local machine.

You can develop and test your WordPress website or blog on your local computer without spending a penny. Also, It saves you lot of time along the way.

In this blog post, let us learn how to install and run WordPress on your local computer.

I have divided this entire process into two sections

  1. Installing WampServer
  2. Installing and running WordPress

Installing WampServer

Why Do We Need WampServer?

WordPress runs on web servers that support PHP with version 5.6 or greater, MySQL with version 5.5 or greater and mod_rewrite Apache module. This might change as the WordPress core is updated and you can learn more from the on the requirements.

Now we know, we need a web server that supports PHP and MySQL, in our local computer to run WordPress.

WampServer allows us to create a server type environment from the comfort of our local computer. We can also achieve this setup by installing Xampp. But personally, I prefer Wamp, as it is very easy to use.

What Is WampServer?

WampServer is a web development platform for Windows machines. It is a software stack consisting Apache, PHP and MySQL. WampServer also includes PHPMyAdmin, an interface that lets you to easily manage MySQL databases via browser.

Wamp Server website

Let us install WampServer and get started with WordPress. At the time of writing this tutorial, WampServer 2.5 is the latest version and it includes PHP 5.5.12 and MySQL 5.6.17.

Step 01: WampServer 2.5 requires Microsoft Visual C++ Redistributable to be installed in your machine. You can check if Visual C++ Redistributable is already installed by navigating to Control PanelProgramsPrograms and Features. If not, you can download and install Microsoft Visual C++ before installing WampServer.

Checking Control Panel for installed Visual C++

Step 02: Download WampServer by visiting You can either choose 32-bit or 64-bit WampServer depending on your operating system (OS).

Download Wamp Server based on your system type

You can check if your Windows machine is running 32-bit or 64-bit navigating to Control PanelSystem and SecuritySystem.

Find your system type from Control Panel

Step 03: Run the downloaded installer to install WampServer. WampServer 2.5 is 41.4 MB in size.

Download Wamp Server to your local drive

Step 04: The setup Wizard opens up with the version details and from here, the steps are self explanatory. Click 'Next' to continue.

Installing Wamp Server - Setup wizard screen

Step 05: The next screen shows the License Agreement. You can read through the agreement and choose 'I accept the agreement'. Click 'Next' to continue.

Installing Wamp Server - License agreement screen

Step 06: In this screen, you can select the destination folder to install WampServer. I prefer to install it in the default directory. Click 'Next' to continue.

Installing Wamp Server - Setup directory screen

Step 07: In 'Select Additional Tasks' screen, you can choose to create Desktop and Quick Launch icons and when you are done, click 'Next' to continue.

Installing Wamp Server - Additional tasks screen

Step 08: You can click on 'Install' in the 'Ready to Install' screen.

Installing Wamp Server - Ready to Install screen

Step 09: The installer would ask you to choose your default browser. You can leave it to default and click 'Open'.

Installing Wamp Server - Choose default browser screen

Step 10: Leave the values to default in the PHP and mail parameters screen and click 'Next'.

Installing Wamp Server - PHP mail params screen

Step 11: WampServer might ask you to allow access through Firewall and you must grant access to avoid any issues.

Installing Wamp Server - Windows Firewall security alert

Step 12: Check the 'Launch WampServer 2 now' checkbox in the 'Completing the WampServer 2 Setup Wizard' screen. Complete the installation by clicking on the 'Finish' button.

Installing Wamp Server - Setup complete wizard

Hooray! WampServer is now installed on your machine and you can observe a new 'W' icon in the taskbar.

Checking WampServer After Installation

Once we complete WampServer installation, the first thing we need to do is to check if WampServer is installed properly.

Wamp Server taskbar icon

Navigate to http://localhost/ on your favorite browser or left-click on the WampServer icon and choose 'Localhost'. If Wamp functions properly, we should see the Server Configuration page. The Configuration page gives us information on the extensions installed, server version information and few tools for managing the local server.

Localhost screen after Wamp server installation

Installing And Running WordPress

Let us now get to the interesting part and install WordPress.

Setting Up Database

Step 01: Let us start by setting up a database first. We can use PHPMyAdmin tool to create databases.

Navigate to PHPMyAdmin in your browser by typing http://localhost/phpmyadmin. You can also find this tool in the server configuration page under the 'Tools' section. The server configuration page loads up when you type http://localhost/ in your browser.

Open PHPMyAdmin in browser

Step 02: There are two things that we must consider when creating a MySQL database for WordPress - the database name and the collation.

WordPress and Hackre recommend to use utf8_general_ci collation when creating database for WordPress. Also, recommends to use the same database name as your live WordPress site for your local database. This allows us to easily move the local database to the live server.

For this tutorial, I’m going to create a database with the name 'danielsblog'.

To create a database with the recommended collation, click on 'Database' tab and enter the name of the database. Select utf8_general_ci as the collation and click 'Create'.

Create MySQL database using PHPMyAdmin

Now your database is ready for our local setup.

Setting Up WordPress

Step 03: Head to in your browser and download WordPress. At the time of writing this tutorial, WordPress 4.3.1 was the latest version released.

Download WordPress from

Step 04: Extract the downloaded file to 'www' folder found inside the directory where you installed WampServer. I had installed Wamp in the default directory and my 'www' folder would be found in 'C:\wamp\' directory.

You can rename the extracted folder to 'yoursitename'. This way you can keep it organized and can run multiple local sites without confusion. I have renamed to 'danielsblog'.

Renaming downloaded WordPress

Local WordPress sitename

Step 05: Open up your browser and type http://localhost/yoursitename. Now you should see a page asking to select the language. Select your preferred language and click 'Continue'. I prefer to use English (United States).

Open local site to setup WordPress

Installing WordPress - Language select screen

Step 06: In the next screen, WordPress prompts you to get the following information.

  • Database name
  • Username
  • Password
  • Database host

Installing WordPress - Keep database info ready screen

Database name – If you remember, we created the database using PHPMyAdmin by providing a database name. Enter the same database name while creating the Configuration file. I have created a database with the name 'danielsblog'.

Username, Password and Host – MySQL ships with the default root account. 'root' is the username and there is no password set for this account. The database host for this account is 'localhost'. You can check this by navigating to http://localhost/phpmyadmin/ in your browser and click on 'mysql' database in the left pane. Clicking on the 'user' table will list all the users in the table.

MySQL user table screen

Now that you have all the information, click 'Let’s go' to continue in the WordPress setup screen.

Step 07: You will be asked to enter the database information in the following screen.

Installing WordPress - WordPress database info screen

It is a best practice to change the default WordPress table prefix to avoid brute force attacks. Similar to database name, you can use the table prefix values from your live WordPress site. This makes the process easier when you move the local database to your live server. If you prefer to leave it to default, then click 'Submit'.

WordPress creates a configuration file called wp-config.php in the root folder and saves these information in it.

Installing WordPress - wp-config file

Step 08: In the next screen, you should get the following message.

All right, sparky! You’ve made it through this part of the installation. WordPress can communicate with your database. If you are ready, time now to…

Installing WordPress - Run the install screen

Click on 'Run the install' and you will be taken to the Welcome screen.

Step 09: In the Welcome screen, WordPress will ask you for the following information.

  • Site Title
  • Username
  • Password
  • Email
  • Privacy

Enter the above information and you can uncheck 'Allow search engines to index this site' checkbox as this is a local website. Click on 'Install WordPress' to complete WordPress installation.

Installing WordPress - Site information screen

Upon successful installation, you will be taken to the 'Success' screen.

Installing WordPress - Installation success screen

Congratulations, your local WordPress website is now ready. You can login and start playing around.

How does a local WordPress setup improve your workflow? Please do let know me know in the comments.