Home » How To

Category: How To

Staying on top of your social media presence

The best that I know to stay in the mind of your audience is to share something of value with them consistently. You could share your creations every day, every week or every month.

Have you ever tried to be consistent every week? Or every day? It is pretty challenging.

Some days you feel inspired, other days not so much. On some days there is plenty of time for creations, and on other days you would like to take some time off.

I struggled with this for a few months, and I knew there has to be a better way!

And that better way is batching and scheduling.

Batching is merely creating more pieces to be shared when you feel more creative, or when you have more time on your hands. If you share one post a day, but you have time to create 5 of them, that is batching.

When you have five pieces done in advance scheduling can help you publish them just at the right time, even if you take the day off.

For me, batching and scheduling are time-savers that also keep me in front of the audience even when I take time off.

In the last few years, the tools available have evolved so you can do this easily.

For Facebook – on your business page – you can schedule posts ahead of time. That feature is sometimes not working. In those cases, I go to “Publishing Tools” and use that interface to schedule my work.

For Twitter – they have the Twitter Deck app. This one has worked pretty much every time.

For Instagram, you don’t have a built-in scheduler. I am sure there is a good reason for that, but I don’t know it. If scheduling on Instagram is essential for you to there is a paid service you can use called: TailWind. Since I’ve been using it for one of my clients, they almost doubled their audience from 2k to 4k. Of course, you still need to create high quality, engaging posts, but being able to schedule them allows you to be active on the platform even in the days where you have something else planned.

Give batching and scheduling a try! You will find it much easier to be creative when you take the time pressure off of you.

The Process – A project from start to finish

There is value in having a process. It helps you provide consistent results, and you have something that you can continuously work on to improve. 

Here is “The Process” that I use today with software projects.

1. Are we a good fit? 

The first thing that happens is the discussion where both myself and the client try to determine if we are a good fit for one another. 

My job is to determine what the client needs and consider if I can provide a creative solution to solve that problem at a price that is fair for both of us. 

Sometimes this discussion happens in two parts if I need a break to do some research and investigation before I can begin to think of ways I could help. 

An important note here is that what is “needed” may not be what the client initial thought may be needed. That is why we have a conversation before any agreement happens. 

2. Project Set-Up 

After we agree on scope, price, and what it means to be 100% satisfied, I begin the work. 

With time I have learned the value of keeping things organized and tidy. 

Each client gets their individual folder that will document the history of the project. In that folder I will have things like:

  • meeting notes; 
  • agreement of project scope and price;
  • backups – I never do any changes unless I have a backup first;
  • client files – images, documents, other media;
  • a work-log – where I document what I have done and why. In very rare cases, I can use that to remind the client of the road we took together and justify a decision over the other. Another benefit is that you learn and get better by journaling what you do; 
  • access details – a file where I store various logins that the client has shared with me. In some cases, it makes good sense to have this file encrypted, like a ZIP archive with a password, for example;
  • any new agreed-upon changes also go here;

3. Making a plan – The List

I was trained, mostly by my father, to be organized by using lists. And I have kept that training and added on top of it. It is very useful, and it gives me clarity on what it needs to be done and in what order. 

Here I make a list of everything that needs to be done, broken down in tasks. The tool I use most of the time is Asana. I have tried Trello and Bootcamp, but I find Asana to be much closer to how I like to work. 

I also use a calendar service (like Google Calendar) to remind myself of upcoming deadlines.

Something that I found is handy is to split my list into three main sections:

 a. Go Live – the project cannot go live or shipped if any of the tasks here are not finished;

 b. Nice to Have – other tasks originating from the client that we can add later, after the go-live and in, some cases, in a “Phase 2” of the project;

 c. Bright Ideas – here I write down my own ideas that I think could help the client;

Why am I organizing things like this? 

The short answer is that it forces me to focus on the client; to get them on the market as soon as possible. I did not always use to think like that, and I was routinely making the mistake of focusing on tasks in the “Bright Ideas” section because there were so inspiring to me and they would challenge me. But in most cases, they were not mandatory for the client. So that added unjustified delays and extra costs. While I don’t think the client is always right, I do believe the client knows what is important to them. And that is where my focus should be and what I should be solving first. 

I hope it is now evident that the order in which I go about these tasks is: Go Live, then Nice To Have and then Bright Ideas. And I have learned to be OK with the fact that most projects stop after the “Go Live” part when the burning need of the client has been met. 

So why still keep “Nice to have” and “Bright Ideas” around? 

The biggest reason is to clear your mind so you can focus on the tasks at hand, knowing that your “good thoughts” are not lost. The second big reason is that is how you learn and grow. Maybe you don’t implement these ideas now, in this project, but because you wrote them down and thought about them you will remember them, and they may be the perfect solution for the next project or the “Phase 2” of this project. The “Bright Ideas” section is your most creative section. Don’t throw it away.

4. Set Up a Schedule 

I believe that if a project does not have a deadline, it will never finish. I am very wary of clients who say: “we can finish this whenever… no rush!”. That can be a source of significant delays for you and the project. 

I know this is not the same for everyone, but if deadlines motivate you, a client who is continuously delaying the project will drive you mad. 

In this step, I set-up reminders in my calendar for milestones that will help me get the work done in time for launch. 

When I do this, I need to allow time for the “unexpected” right before the launch. So I plan to finish the project at least a few days early to have some space to extend in case of unforeseen trouble. 

5. Doing the work

Only in step 5 comes the most fun part for me, doing software work :). But as a solopreneur, I need to do and master the business admin part as well.

When doing software work, I have a few principles that I follow:

  • Blocks of uninterrupted time – 2 – 3 hours blocks when I am the most efficient. When coding, there is a complex context that you need to have running in your head, and that takes time to build. If your block of time is too short, then most of that is spent just reminding yourself what the project is about;
  • use a versioning system – this should be obvious – even if you are working alone, it is so much easier to roll back to something that was working when you have a versioning system in place 
  • automatic testing – for particular clients that require a very high level of quality control this needs to be done;
  • Automatic backups of the client’s old code/website – again, just in case you need to roll back. Make sure the backups also include the database, not just the code files;
  • Keep track of working time – in some cases, “hours of time” is what I am billing to the client, and also this is how I know if we are going to finish on time. I am however transitioning out of this, so stay tuned for a post about it. Keeping track of time can be a learning and discipline building tool, just like journaling your work, but sometimes it becomes very, very restrictive and creates a lot of stress; 

6. Client Feedback 

I used to work, work, work, and then do the “big WOW” reveal at the end when the client would be floored with the amazing quality and results. 

This big reveal was silly. 

Why? Because it would allow me to focus on the “Bright Ideas” list instead of “Go Live.” And I would deliver an excellent, high-quality product, that would not speak to the client’s needs. 

What I do now is to deliver work in smaller increments and get feedback soon and often. I am careful here that the feedback I am looking for is “does this meet your needs, madam client?” and not about “how to do my job.” Therefore it is a tool to keep me focused on finding solutions that are important and relevant to the client. 

7. Making mistakes 

Mistakes are happening in every project. If I am not making mistakes, I am not learning anything new, and I am just delivering the same old solution. In some cases, that is OK, but generally, that is not what I am looking for. Each client is unique, so I want to challenge myself and meet their individual needs. 

It is therefore essential to know that I will be making mistakes and have a plan on what do to about them. Like, make sure I have factored that in the price so I don’t add more as a cost to the client to fix them. Also, I need to include those in my schedule. That is why I always have the “unexpected problem” in my planing with some time allocated to it. 

I am, however, fair. If I make a stupid mistake that I could have easily foreseen and avoided, the fix is on the house! I am talking here about the unavoidable trials and errors when you are building custom solutions and exploring places you have not explored before. Those mistakes need to be allowed for if you want to arrive at a good solution where you have explored alternatives that did not work. 

8. Going Live 

When I “go live,” I strive to have a seamless experience for the customer and their clients, which means as little to no downtime if that is at all possible. Over time I have discovered various ways of “flipping the switch” that can use depending on the specific situation. 

Again here, backups are super important. In case you mess up the live deployment, you need to be sure you can roll back to what worked before. I have seen so many instances where this not done, and people roll the dice. They may be that good, but it is just a matter of “when” things will crash on you, not “if.” I have learned my lesson.

9. Review and Learn

Ideally, the project has completed with the “double thank you.” You give thanks for the business, and the client is grateful for the solution they got. 

Either way now is the time to reflect on the project and look for “lessons learned.” 

What worked? Do more of that!

What did not work? Do less of that! 🙂 Or at least try to figure out what you can do differently next time. 

Something else that shows up here is opportunities to learn new things. Look at the “Bright Ideas” section and the “Nice to Have” section and try to come up with solutions to those that use new technologies. I sometimes set-up a pet project where I implement that solution.

I mustn’t skip this step or else I would get stuck in a rut. 

Mic to you!

How is your process different when you’re helping your clients? What are some of your lessons learned along your journey? 

Make good use of your Analytics data

Some people love looking at numbers, and some people don’t! Which kind are you?

That was a trick question because it does not matter. You have an online business, so you have to look at the numbers period. It is that simple.

I am surprised that even to this day, there are website owners who are not using Google Analytics. So by using it, I mean actually using it, not just having it installed. If you don’t have Google Analytics installed yet, this article is not for you 🙂

If you don’t like looking at the numbers, think of it as listening to their story.

What story can you learn by listening to your analytics data?

The most basic story could be: your site is broken! A sudden drop in numbers or an unexpected spike in errors is an excellent indicator that something is not working. The sooner you learn about this, the faster you can fix it.

Another story can be the “unexpected audience.” You may be assuming that a specific demographic or geographical region is visiting your site, but you may be wrong. Sometimes you may discover that it makes business sense to translate your offer to a different language, or to promote a page to a different demographic. Without analytics, it is challenging (if not impossible) to adapt to the changes in the market.

However, the most useful way that I am using analytics is to predict the future by looking at the past. Instead of guessing how many sales are you going to generate this month, you can use the past data to get a reasonable estimate of the monthly revenue. This allows you to plan ahead and to budget for your growth. It enables you to think long term, to strategize, instead of just surviving.

The second most useful way to use analytics is for tracking the success of your actions. Meaning: how will you know if the changes you have implemented have helped your business or not? This kind of tracking requires a bit more time to set up, but it is worth it.

It is an excellent idea to have the analytics code installed, even if you don’t know how to listen to the numbers yet. By the time you learn, there will be a story in your analytics data for you to interpret.

Installing the code

Google Analytics has good documentation about how to install their code. Also, most WordPress themes allow you to configure Google Analytics in their options. If a theme does not allow you to do this quickly, maybe it was not the right choice for your website.

For the more advanced users, I recommend using this plugin: PixelYourSite (https://www.pixelyoursite.com/)

How are you using your analytics data? Have you made any breakthroughs? Have you learned any hard lessons :)? Let me know in the comments below.

Keep your site up to date – good advice, but only in theory?

“Keep your software up to date!”

I am sure you have heard this saying many times, and in general, it is good advice.

However, let’s take a WordPress website, for example.

A WordPress site is made from the WordPress core and usually many plugins. You have many pieces in your puzzle. Not all of them are updated at the same time or in the same way.

In my experience, it happened more than once that an updated piece no longer fit with the rest of the puzzle. Auch!

Most update processes do a good job warning you that you need to do a backup first and to ensure the other plugins (components of the puzzle) are compatible with the update.

This approach puts the responsibility of “making sure that things still work” with the user. And not everyone can make that assessment. Also, let’s admit it, sometimes we are in a hurry or just plain lazy :). Ideally, a piece of software should not rely on a human to do the right thing.

I too used to be overconfident in the automatic updates process, and I would apply those every time there was a new update. Click, click, and I was done! What could possibly go wrong?

One time, I updated the store. We had a newsletter scheduled that we expected to generate much interest and I thought I wanted to offer the best and latest shopping experience for our customers. So I updated the store and was on my way. The next day I opened the email to a ton of complaints from our subscribers that the checkout is not working! A full email campaign wasted, not the mention that we looked totally unprofessional — that hurt both my ego and the sales.

What did I learn from it?

1. Updates can potentially be very painful

2. You never change the system right before a big promo campaign. (This feels like common sense now.)

3. You need to be extra careful when you update the part that generates income: the store, the “pay now buttons,” and the subscribe boxes.

4. After you update you need to test at least the critical functionality: add to cart, checkout, subscribe.

5. You better have good backups, in case you need to roll back.

It was not all bad, because I did have backups, so it was relatively easy to go back to the previous version. Moreover, I sent another email campaign with an apology and a second invitation to check out the offer. If I hadn’t had backups that would not have been possible to do.

Another thing I decided to implement is to write automatic tests for the website that can run in the background and make sure the critical processes are still working.

In conclusion: stay up to date, but be smart about it 🙂

The Challenges of an WordPress Online Store

Having an online store is a good idea. It allows you to make revenue from your website and your offering. That is obvious.

What is not so obvious is that some challenges come with it :).

I believe in being prepared! So, if you’re looking to start an online store, or to improve the one you already have, read on!

This article will focus mostly on WordPress powered websites and add some general principles as well.

Shopping cart or no shopping cart?

It depends. I much prefer the experience of a one-click purchase. And in some cases that is precisely what you want to offer to your customers. When you have a lot of products in your offer, and it makes sense for people to buy more than one product at a time (like three books for example), then you need to use a shopping cart. For WordPress, I recommend WooCommerce, and some custom work on top of that to make it more user-friendly.

Coupon or no coupon?

Coupons are an excellent way to reward loyalty and to get attention for your promotion. A one-click experience does not lend itself well to using a coupon. There are other tools in this case, like custom links. But a shopping cart (like WooCommerce) can easily use coupons. Just make it obvious where to expect a coupon code. The default user interface is sometimes confusing for people.

Guest checkout?

In most shopping experiences, you are required to create an account before you can place an order. And there is a good reason for that. It allows for later access to your purchase history and the downloadable files you may have lost.

But sometimes creating an account can be seen as too complicated and unnecessary. I prefer this method of purchase. If guest checkout is essential for you, make sure the tool you are using allows for it. Again I have to recommend WooCommerce as they provide for this feature.

Keep the conversation going

Depending on the kind of business that you have and your offer, it may be a good idea to keep the conversation going with your customers or to hold their hand as they discover your product. To allow them to grow by making a more advanced offer, and, why not, to learn from them. The tools to use in this case is WooCommerce integrated with MailChimp. I am personally not happy with what is on the market today, so I have had to create my own plugin that would add specific tags for specific products. This approach allows me to segment the audience or to trigger campaigns based on the product that was purchased.

Also beware, that for bigger stores, the official MailChimp plugin does not work anymore as you would expect. There are a lot of timeouts and missed notifications. Especially true for when you have a significant influx of orders (for example you’ve just sent an email blast to your audience).

Provide support

Providing support should be common sense, but not everyone is doing this right. Your customers need a reliable way to ask for assistance.

I used to think that this would be too much work. But in fact, it is an excellent way to learn about your audience, what they need, what they like, and what is broken with your sales or delivery process. Do not ignore the support requests :). The “Contact Form 7” is an excellent plugin to use for this.

The Refund Policy

Buying things online is risky. Your order customers trust you, but the new ones don’t know you. To me, it makes total sense to make it risk-free for them and offer a full refund policy. Yes, some will abuse it. But for every abuser, there will be more people who end up trusting you more and making the purchase. The refund policy is also a strong statement of confidence in your products or services. Yes, they are that good!

And I agree, in some cases, a partial refund makes more sense. And in others, it is OK to offer no refund if the customer had plenty of chance to change their mind and did not. Like selling tickets for an event, and someone wanting to cancel the day before. In these cases, you have to make it crystal clear in the purchase process what the refund policy is and when it expires.

International clients

I still struggle with this one.

You may discover that you have a big audience in a country that speaks a different language. Say, French. You invest in the resources and process to translate your products and sales process into French to help your audience get to our product. But what you also need to be careful about is providing support in the same language. If the product is in French, and the purchase process is in French, the support cannot be in English. To me, that would not feel genuine. Like you did not go all the way with your offer, and you stopped right after the sale.

If I cannot offer support in French, I prefer to keep the sales process in English. This way, those who buy the French product will know that that is the only French part about it, just the product itself. But the shopping experience and support will have to be in English.

As I’ve said, I still struggle with this, and I cannot say I have found a solution that I am delighted with. As tools, for WordPress, I am using the PolyLang plugin.

The Mobile Screen Experience

Have a look at your analytics data, and you will likely notice that the mobile users are a big chunk, if not the most significant piece of your audience. Your store needs to be mobile-friendly. And again, I have to recommend WooCommerce here, but with some custom work to make it even more usable on the small screens.

Order fulfillment

Don’t forget about the second half of the shopping experience. Don’t stop at just getting paid :). Make sure your customers can get to their files.

You may have to use different tools for different products. Small files can be sent as attachments. For videos, you may be better of emailing links to a platform where the video is hosted (YouTube, Vimeo, Wistia). And for huge files, there are yet other tools to help, like Amazon S3 services.

Use this information to decide what kind of shopping experience you want to create and what tools you should use. And if you struggle with some challenges that I didn’t write about, let me know in the comments below.

Website maintenance for WordPress

Gone are the days when you would set up your web pages and you would be done for the next 10 years or so. In today’s world, most websites require some sort of maintenance work and that is especially true for WordPress.

Why is maintenance important?

The number one reason is security. Your site is not alone. It exists in an ecosystem and it is connected with many other systems for it to work and do its job. All of this is in a continuous state of change. Change means that potentially new software problems are introduced that could affect your site. This change also means that new security exploits are discovered that could make your site vulnerable.

Unless you are a security expert and keeping on top of web security issues is your job, it is a daunting task to keep up with all this change. I get it. But that is no reason to just give up on it entirely.

At the very least keep your website components updated (core and plugins) and have good backups in place [link to backups].

The second reason is to continue to be relevant. As the services and business around you evolve, your website needs to evolve to keep up or even to lead the way. So maintenance, in this case, can go from simple website updates to constant incremental improvements so that your users’ experience gets better and better. The most common issue here is that integration points with other services change and without a maintenance plan in place, your site would just stop working at some point.

The third reason is to make sure your website is still functioning properly. You don’t want to hear from your customers that your store is not working. How many sales did you lose before someone took the time to contact you? You don’t want to wait months to discover your most valuable page is broken and so Google dropped it from the search index. The solution here is to have a test plan in place. Once a week you could check your home page, your purchase process, and the signup process and make sure they work. For bigger businesses, an automated test plan may be a better solution.

The Cost of Website maintenance

There is a cost for maintenance. That is time if you need to do it yourself, or money, if you need to hire someone to do it for you.

Instead of thinking just in terms of costs and maybe decide not to do it, ask yourself how much would it cost you in the long run *not* to maintain your website. In that sense, maintenance is a form of insurance that you pay for your peace of mind. It can also be an investment that you make in your business growth.

How to do it?

At the most basic level, you need to keep your software updated. For WordPress, that means updating to the latest stable version, and also updating your plugins. It also means that you delete (not just deactivate) old plugins that you no longer use.

A more intermediate level would also include some database operations to keep lean, optimized and fast.

For more advanced users you may have to hire someone to do this for you constantly: monitor the uptime, make sure that the core business processes are still functioning, check the integration points and update the software as required, optimize for performance and so on.

The Take-Away

Don’t ignore maintenance. When you build a new website make sure you include a budget for it and that you also discuss it with your developer. And if you already have a website, you should also have a maintenance plan in place.

Do you have any “lessons learned” the hard way? I’d love to hear about them in the comments below.

The Successful WordPress Recipe

In almost all of the cases where I was hired to help with a website, I had to deal with a WordPress setup. I have done this often enough to discover some patterns and to create a “WordPress Recipe” that I can use and apply really fast and that was proven to work!

Why the recipe?

WordPress’s power is that it is simple to install and set up by a non-technical person. But that is also its weakness. It is easy to conclude that after a successful install “you’re done and ready to go”, but that is usually not the case.

The common elements

The online store. Most of the websites today sell a product or a service. The most flexible solution that I know of is to use WooCommerce, connected with PayPal. And of course, there are all sorts of add ons you can use to customize the store to your needs.

The newsletter service. As a business, you need a way to stay in touch with your customers and to get leads. The best way I know how to do this is by capturing emails and using them with a newsletter service. MailChimp is a common choice. Contact Form 7 is the plugin that connects MailChimp with your site.

The contact form. If you are selling a product, you need to allow your customers to ask for support. Also, prospective customers should be able to reach you with presales questions. You can solve this with a contact form done right. What do I mean by “done right”? Two things: first you need some sort of spam protection so that only genuine contact requests get to your inbox. And secondly, you need to save these requests in a database in case your email happens to not be working.

Website Analytics. It surprises me how many website owners do not have any analytics reporting setup. If you don’t use analytics you could be missing out on potentially vital information ranging from technical problems with your website to discovering how your customers find you and where, in turn, you can find them. The best tool for this is Google Analytics. It is easy to set up and does not require any maintenance. Once you have it on your website any time you need to make a big decision about your business you can consult the analytics data to determine what the impact may be on your traffic and customers. Usually, the WordPress theme has a way to add this code. If you need something more advanced then PixelYourSite is the tool I’d recommend.

Search Engine Optimization. This a very broad topic, but a good start can get you a long way. At the very least choose a theme that is SEO friendly and properly configure your website structure through permalinks. Also, install the free plugin from YOAST and follow the configuration steps to make your pages more “google friendly”. I should add here that starting with 2018 the mobile users have surpassed the desktop users (in the data I have access to), so the website needs to look great on mobile first and desktop second! This is a big departure from: let’s make a great desktop website and then we’ll fix it on mobile.

Social Share. This is one is optional in my mind because I am not very convinced that it helps. If you know better let me know in the comments below. Some themes do provide this feature as do some plugins, but I have not found anyone that I could recommend. What I usually end up doing is to create custom code to add social share on the pages that I need to.

Website Security. Unfortunately, none of the websites I was hired to work with had good security in place. In fact, many times I was hired to try and salvage a hacked website and that is not always possible. WordPress is notorious for being easy to hack. This is not actually their fault. The paradox is that the software is so easy to use and install that many people who use it are unaware of the online security pitfalls so they fail to take the required steps to secure their website. To get you started you should only use popular plugins that have a good reputation of high quality. And you need to install and configure a security plugin. The one that I use and I recommend is All In One Security. Your hosting can also help here if they provide a malware scanning service.

Backups. I have learned the lessons of good backups the hard way. These days I don’t even take on clients if they don’t agree with a backup policy. It is too risky and so easy to make a mistake that costs both me and the client. I don’t have a plugin to recommend here. I personally have a backup server, with custom code, where I keep version mirrors of my work and my client’s data. This allows me to do quick restores in case of trouble and to work fast, knowing that even if I make a mistake, I can always roll back.

The WordPress quick setup Recipe

  1. Install WordPress
  2. Install a theme. I recommend DIVI (with some caveats)
  3. Install WooCommerce and connect it with PayPal (or Stripe)
  4. Install Contact Form 7 and connect it with MailChimp
  5. Setup the contact form in Contact Form 7 and also install Flamingo. Configure spam protection with recaptcha. Do a test of the contact form to make sure it works.
  6. Add the Google Analytics code in your theme
  7. Install and configure YOAST
  8. (optional) Install a social share plugin (or use custom code)
  9. Install AllInOne Security plugin and configure it.
  10. Setup automatic, versioned backups.

A note about choosing a theme

As you know I recommend DIVI from Elegant Themes. What I like about it is that you can quickly have a beautiful website that is mobile friendly, it is super easy to update and it’s very customizable without having to write any code.

But all this comes with a price!

I am not very happy with the performance of the theme. Sometimes it feels bloated. But there are ways to mitigate this problem. Another much bigger issue is that you are locked in with this theme. If you decide to use DIVI you might as well purchase the lifetime package because it will be incredibly hard to change to another theme down the line. If you think this may be an issue for you then you may want to look into Beaver Builder.