Posts in the Get Help category will help you solve a tech support problem.

Install the PHP SQLSRV Driver on Linux

Rejoice! Microsoft actually does provide a PHP Linux driver for Microsoft SQL Server. The bad news is, it can be a real pain to get it working.  I went through this experience tonight while setting up a utility I wrote for a client. I ran into two separate issues. This article provides some assistance with the issues I ran into when I tried to Install the PHP SQLSRV driver on Linux.

How to Install PHP SQLSRV Driver on Linux

The instructions in the repository’s readme.md are actually pretty good. Check out the official Github repository for the driver for the latest version and installation information. I recommend you follow their instructions first. When you hit a roadblock, come back to this article for help.

PECL Building with Wrong PHP Version

The final step in the installation is installing the base driver and the PDO variant withpecl install. PECL runs a build process on your machine and it uses a tool called phpize to execute the build. The version of this tool needs to match your PHP version. Otherwise, the build will succeed, but the extension file it generates won’t be compatible with the version of PHP you’re running. You’ll know pretty quickly if this is the case if you get “can’t load extension” errors after you build and execute PHP.

To solve the problem, install the version of phpize that matches your PHP version. For example, if you are running PHP 7.1, you would run:

sudo apt-get install phpize7.1

Microsoft ODBC Client is Missing

After I fixed the problem above, I ran my PHP script and the database connection failed. The PDO SQL Server driver reported an error message that it could not execute because it required the Microsoft ODBC Client. Installing the client is actually part of the steps in the instructions provided on Github. But for me, the installation failed and I didn’t notice. I went back and repeated this step and found that there was a missing dependency that would not install. Once I manually installed it and re-ran the client installation steps, then the PDO driver started working.

The Github repository below contains the official drivers from Microsoft. Check out the repository for the latest version information and installation instructions.

Microsoft Drivers for PHP for SQL Server
https://github.com/Microsoft/msphpsql
224 forks.
1,084 stars.
34 open issues.
Recent commits:

add a google reviews badge to your wordpress site without a plugin

Add a Google Reviews Widget to WordPress Without a Plugin

This article will teach you how to leverage the Google Places API to add a Google reviews widget to your WordPress website.

Why Customer Reviews Matter

It doesn’t matter if you’re an online-only or a traditional brick-and-mortar business: customer reviews matter. Reviews are an important ranking signal for local search optimization (increasing the visibility of your business listings in services like Google My Business). In addition to getting visitors to your site, reviews provide trust and credibility that turns a casual visitor into a customer. In other words, they can influence click-through rates, bounce rates, and conversions.

If your website hosts it’s own customer reviews (in the right format), Google will show review stars as part of your organic listings.

But if you don’t have reviews built into your website, getting review stars to show up can be hard to achieve. And why add review functionality to your site when Google already provides them?

We’re going to leverage the reviews that are already on our Google My Business listings to add a reviews widget to a WordPress site.

Get a Google API Key

First, you’ll need a Google API key. Follow these instructions to create a project and create an API key, and then follow these instructions to enable the Google Places API for your new project:

  1. Go to your Google Developer Console and make sure you are on the app you just created.
  2. Click Enable API, search for the Google Places Web Service and click the link for that service.
  3. Click Enable to allow calls to the Google Places Web Service from your application.

This configuration will provide you with a key to access the Google API and query the Google Places web service.

Write WordPress Code to Pull Your Business’ Google Reviews

There is a little bit of code involved in this process, and I admittedly don’t write short code.  So rather than reproduce it here, I’ve added it to a Gift which I’ve embedded below.

This code is split up into several sections.

RWC_Google_Places Class

The RWC_Google_Places class acts as a wrapper around the Google Places web services that we need to access.

Create a new instance by passing the API key to the class’ constructor. The findPlaces() method searches the Places API for all locations that match the query. The query can be a business name or address. The method returns a PHP object built from the JSON response retrieved from the API.

The getDetails() method queries the Places API for in-depth details about a particular “place” using the ID associated with the listing. Pass it a place ID, and it will return a PHP object containing the listing’s details.

RWC_Google_Reviews Class

The RWC_Google_Reviews class leverages the wrapper class to retrieve Place details and generate the badge via the WordPress Shortcode API. Create an instance by calling the constructor and passing your Google API key. It will automatically register shortcodes with WordPress.

Displaying the Google Reviews Widget

To generate a shortcode, add the No query or placeId attributes specified on shortcode. shortcode to your page content. Of course, that’s not quite enough.  To create a badge, you’ll also have to specify one of two shortcode attributes: query or placeId. The query attribute can be used to send a query string, such as a business name or address, to Google Places, and it generates a badge for each match.  If you happen to know your business’ placeId, you can use that instead. Examples:

[google-reviews-badge query="Reich Web Consulting"]
Google Reviews Widget Without a Plugin

The shortcode output

The Code

The code is long, but it’s not complicated. You can quickly reduce this code to just a couple of lines if you don’t care about things like comments and error-checking.

If you look closely at this code, it doesn’t load any styling. That’s intentional. The HTML output is pretty raw, and I decided to leave it up to anyone who decides to use this code to make their badge match their website.

So go ahead and give it a shot. Leave a comment with any questions or feedback about the code.

Questions to Ask to Find a Web Designer

Questions to Ask to Find a Web Designer

Your business needs a website. Depending on the size of your company you probably have other technology needs too, and you might think that it’s a no-brainer to hire one company to do it all. It’s not. It can be hard to find a web designer that’s up to the task, and he or she is almost certainly not the same person that manages your network.

Reich Web Consulting used to be Reich Consulting. While the web was always our focus, we used to accept any gig that involved a computer. When we were an IT company, our small business customers all said the same thing:

We like the convenience of having all our technology requirements met by one vendor. – Small Business Owners

But is hiring a general IT company to create your website the most economical and convenient solution? This article will help small business owners to ask the right questions to find a web designer capable of building them a successful website.

It the IT Guy

You should probably let him stick to IT.

The Difference Between IT and Web Design

IT stands for Information Technology. Information Technology is an umbrella term for the support of computer and network infrastructure.

Web design, web development, and web marketing refer to

  • Creating the look, feel and user experience of a website
  • The programming that drives a website
  • The skills required to get your website in front of the right people and make it accomplish your business goals.

These terms get used interchangeably, but the individual or company you hire to build your website needs skills in all three disciplines to help you succeed.

Why IT and Web Design Are Different

“But wait,” you say, “the web is just a bunch of computers networked together! That sure sounds like information technology to me!” But that definition makes the grocery store checkout and drone warfare all part of the same skill set. That definition is just too broad to be useful.

IT and web design are separate skill sets with little overlap.

A good IT generalist will have some programming and troubleshooting skills relevant to website design. A good web designer or web developer will possess general IT skills related to their trade. Both will most certainly be able to install a content management system like WordPress. But that’s where the similarities end.

The IT generalist might pass that off as a complete website. The web specialist understands that’s just the beginning.

web design laptop

Well, OBVIOUSLY he’s doing web design. It says it right there!

Does the Company Have a Web Department?

Does the company you’re considering have a web department? Is anyone focused full-time on quality web design?

A good IT company offers a breadth of knowledge a mile wide and few inches deep, a staff tenacious enough to solve hard problems, and if you’re lucky, they employ experts with extensive expertise in the technology that matters to you and your business.

These skills make a fantastic team for planning and building your business’ computing infrastructure, keeping it running like a well-oiled machine, and solving problems when they occur.

So what does any of that have to do with building an attractive, engaging website that meets your sales and marketing objectives?

The qualities required to create a successful website are unique:

  • Graphic design & layout
  • Responsive design and cross-browser testing
  • UX (User Experience)
  • Technical SEO, site structure, information architecture
  • Copywriting, Content Marketing
  • Search engine trends, marketing, and advertising
  • Security

Ask questions. Before you sign a contract find out if their staff have training and experience in the skills that affect your project.

Questions to Ask Before Hiring a Company to Build Your Website

Now that I’ve made you question everything you thought you knew about the web, I’d like to ease the pain by offering something useful. The rest of this post provides a list of questions to ask before you hire a company or an individual to build your business’ website.

I ask Adobe Stock for "outsourcing" and it gives me a white dude palming a globe with the cast of a college brochure.

I ask Adobe Stock for outsourcing, ” and it gives me a white dude palming a globe with the cast of a college brochure.

1. Do they Outsource?

Many businesses use some form of outsourcing. There’s nothing wrong with outsourcing and no shame in using it. In fact, Reich Web Consulting outsources tasks when offering work to outside experts results in a better end product for our customers.

But when a small business chooses a vendor based on that company’s ability to meet all their needs it’s important to know if that’s truly the case.

If you sign a contract with Company X, will Company X complete the work or will they outsource it to someone else? That’s important to know. And I’m privy to the reasons why because Reich Web Consulting gets outsourced work all the time.

Outsourcing Can Impact Price

If your IT company outsources your project, you now have a middle-man involved and all of the cost and labor concerns that entails. As a businessman I can’t help but think “good for them for working smart and not hard,” but I’m aware of all of the ways this can end badly.

Look at the quality of their design portfolio. Does the quality seem comparable to the work of other companies specifically focused on web marketing? How do their prices compare? Can you get essentially the same website, delivered without a middle-man, for less money?

Outsourcing Can Impact Quality

I don’t think anyone in the history of the web has woken up and thought “I’m going to do some crap work today!” Sometimes there are good reasons that talented individuals produce work that’s beneath them. And it usually involved money.

When we accept freelance projects, the terms area not always ideal. Agencies often provide a customer with a quote before their hire outsourced labor. That means the person or team that will build your site has been given no input into the planning, cost, or schedule. You can see how quality could easily suffer.

  • The price quoted by the sales team may not reflect the reality of the labor involved in its execution
  • The freelancer may be asked to do more than the outsourcing company is willing to pay for because they did not consult them before quoting
  • The freelancer may lack critical details, which results in missed deadlines, communication breakdown, and rework as projects need adjusting to an updated understanding of the client’s needs

When a Project is Outsourced Responsibility Can Become Ambiguous

If your IT company outsources your project, where does the buck stop?

If the outsourcing company doesn’t plan adequately, they may ask the freelancer to pick up slack and work harder and longer for no additional pay to solve a planning or budgeting snafu. It’s at the freelancer’s discretion whether or not to oblige.

Conversely, freelancers are humans, and humans make mistakes. If a bug appears after the freelancer receives payment, will they feel a responsibility to fix that bug?

And who, if anyone, pays for it?

If they can't hack a Gibson, don't even bother.

If they can’t hack a Gibson, don’t even bother.

Do They Have Design and Technical Skills?

You should hire someone to build your business’s website that has the skills to do so effectively, as well as the knowledge to steer it towards future success.

But a company that doesn’t focus on the web might not know what they don’t know. Here are some important points to understand and questions to ask before hiring a company to build your website.

Cross Browser and Cross Device Optimization (Responsive Design)

Users need to be able to navigate your site anywhere, on any device with ease. Search engines rank websites better that work well on all devices.

Some web designers still don’t understand that we’re living in a mobile-first world. Others think that ensuring the homepage passes automated tests like the Google Mobile-Friendly Test is enough. Ask the following questions to make sure the company you hire is on top of cross-device usability:

  • How do your designs account for the scale and size of various devices?
  • Are your designs responsive? That is, do your websites use the same design for all devices and adapt the design as-needed?
  • What is your test procedure?  Do you test on multiple browsers? Do you test on multiple devices? Can we see your test matrix?

Site Speed

Users will leave a site if it loads slowly (Response Time: Is Speed the Ultimate Usability Metric?), costing you leads and lost revenue. Search engines will rank your website better if it’s speedy (How Website Speed Impacts Search Ranking).

Getting the homepage to pass automated tools like Google’s Page Speed Test is not enough. It’s not difficult to build a website that gets high marks from automated speed tests while still performing poorly during actual user interaction. Ask the following questions to find out if the company you’re working with thinks about and gives special concern to page speed:

  • How quickly can I expect my website to load on a high-speed connection?
  • How quickly can I expect my website to load over a 4G phone connection?
  • What do you do to ensure fast load speeds and response times?

Keep in mind that there are legitimate reasons for slow response times.  One example is the high-resolution image carousels that are so popular today. Some customers love and insist on having an image slider on their homepage with a bunch of high-resolution photos. While I discourage it unless it adds value, at the end of the day the customer gets what they want.

(For further reading on the subject, check out the annoying but informative Should I Use a Carousel?)

Hosting & Maintenance

Most of us have contracted a virus or malware from completely innocent web browsing. How much trust do you retain in the website that infected you?

If your website gives customers a virus, serves unwanted ads, or malware, you’ll enrage them and ruin your online reputation.  Search engines like Google and Bing may remove your website from their index if they discover it’s been hacked or is serving malware. Preventing these types of problems comes down to quality website hosting, regular maintenance, and security-conscious development. You should ask the following questions:

  • Even though I’m paying you, where is my website hosted? Are they reliable?
  • How often is my website backed up?
  • What platform or technology will be used to build my site? Should I be aware of any concerns related to that platform?
  • Will my site be encrypted with a security certificate?
  • What other steps do you take to ensure my website is secure?
  • If my site does get hacked, what contingency plans are in place to minimize damage?

Website Development Technology

Lots of tools exist for building websites.

Your site could be static which means it’s a simple collection of files that get served to web browsers. Your site could work on a cloud service like SquareSpace, BigCommerce, or Shopify.

Or most likely, it could be developed on a Content Management System like WordPress or Drupal. The import thing is that you’re aware of your website’s platform, and know that if the feces hits the fan, someone’s got your back. You should ask the following questions:

  • What technology will be used to build my website?
  • Should I be aware of any implications to the technology choices? (Speed, security, etc.)
  • Are there ongoing costs?
  • Can I change my content? Or will I always have to pay someone to change it for me?
  • Will there always be somebody on-hand that understands my website’s platform in case something goes wrong?

Design Skills

Not every site needs a unique design. That level of attention to detail is terrific, but it’s also expensive.

But your website should be built by a company that knows how to create a design that looks attractive, provides a good user experience on all devices, and converts (generates leads or sales).

The person who develops your website doesn’t necessarily need a graphic design degree. But it must be planned, designed, and built by someone who’s taken the time to understand your business and the goals you hope to achieve through your new site.

A quality designer bases a website on research and discovery and later refines it based on usage data and user feedback. Consider asking the following questions to get a sense of the company’s design chops:

  • What have you created in the past? Can we see your portfolio?
  • Are your website designs based off of what the platform and templates offer? Or based on our needs?
  • If we need a design that’s not a “stock” option, do you have the expertise to make it happen?

Look at the company’s past work.  If you have questions, ask them why they made a particular design decision.

Marketing

We’re going to switch things up.  The company you’re considering working with should be asking you the questions!

If you’re considering hiring a company to build your website that doesn’t seem genuinely interested in understanding your business goals, that’s a major red flag. They’re likely planning to sell you a cookie-cutter “solution” that won’t solve a problem.

How do I know? They’re not asking the questions they’d need to ask to build anything else.

Some companies will write a creative brief.  A creative brief is a document, generated by ongoing discussion between client and designer that answers important questions that inform the design process.

The creative brief doesn’t neccessarily need to be formal.  And a lot of the questions are likely answered by your business plan (if you’re not a knuckle-dragger like me that never developed one). Your designer should be asking:

  • The who, what, when, where, and why’s of the project.
  • Who is your target audience/demographic?
  • Who are your competitors?

That’s a small sample of what you can expect. But if the company doesn’t ask these types of questions, move on.

Conclusion

At the beginning of the post, I mentioned that Reich Web Consulting used to be Reich Consulting.  We changed our name and mission because we realized our passion lies in helping small businesses succeed at online marketing.

We care about our customers. While we can’t meet all their needs, we think our narrowed focus offers the best value. We’re all web, all the time and we’re proud of that. And we want someone that can bring that level of passion to our customer’s IT needs to deal with them.

But that’s us.

That’s not to say that an IT company can’t build a good website.  Before you sign an agreement with anyone, think about the points raised in this post. Ask questions. If the company you’re talking to is savvy enough to handle your project, you may not even understand the answers, and to some degree that’s OK.  The import thing is that they’ve got the expertise to respond to these questions at all.

Are there other questions that are valuable to ask a prospective web designer? Let us know! We’ll update this post with visitor-suggested ideas as they arrive.

MailChimp Featured Image

How to Use MailChimp RSS-to-Email with WordPress

This post will teach you how to leverage MailChimp RSS-to-Email campaigns to notify subscribers when you update your WordPress blog.

Bloggers depend on a variety of channels to notify their fans when they post new content. This includes RSS feeds, social, and in-browser notifications, and the topic of this post: email subscriptions. Bloggers using the WordPress platform often depend on the Jetpack Subscription plugin to do the heavy lifting. Jetpack leverages WordPress.com to manage lists, construct, and deliver notifications to subscripers. And it works. Kind of. But Jetpack’s Blog Subscription plugin can only take you so far.  It’s insanely rigid, more or less impossible to customize, and really not a great experience for your customers.  It just doesn’t feel like a professional solution.  So what does?  Try using MailChimps RSS-to-Email feature. All you need is an active MailChimp account and the ability to make some minor changes to your WordPress site.

How to Integrate MailChimp RSS-to-Email with WordPress

Obviously you need a MailChimp account to get started. So if you don’t already have one, go ahead and register for a free account now.

In order to setup MailChimp Blog Subscriptions, you first need to create a list to hold your blog subscribers. Read Create a New List to learn all about Lists on MailChimp and how to create them.

The Lists Management screen contains the Create List button which you will click to start a new list.

First, create a new list in MailChimp to store your blog subscribers

Create a MailChimp Form to Add Subscribers

Now that you’ve created your Blog  Subscribers list you need a way to for users to add themselves to the list. In other words you need a Blog Subscription form.  There are a number of ways you can do this.

You can of course manually code a form and the requisite client and server-side code to send submissions to MailChimp.  The code to do this is not complex, but it’s also well above the skill of the average non-technical WordPress user. But if you do go this route I applaud your efforts!

The second option is to use the sign-up form options provided by MailChimp. On your Lists Management screen you’ll see a drop-down menu to the right of each list, and under that menu you’ll see Sign-Up Forms.  The Sign-Up Forms option provides a variety of customizable forms that you can copy and paste into your website.

Finally, you can use a WordPress plugin like MailChimp for WordPress which will help you easily integrate your lists with your website. If you happen to be using Gravity Forms they have a terrific MailChimp add-on as well.

Use the MailChimp Signup Forms tool to create forms that you can easily embed in your site.

Use the MailChimp Signup Forms tool to create forms that you can easily embed in your site.

Setup an RSS-to-Email Campaign

The final step required to get MailChimp to email your subscribers when you update your blog is to setup an RSS-to-Email Campaign. To setup an RSS-to-Email Campaign click the Campaigns tab, and then click the dropdown next to Create Campaign and choose RSS Campaign. Unless you’re using a plugin which overrides the default RSS feed for your site, your RSS feed URL should be http://yoursite.com/?feed=rss2 where http://yoursite.com is the site address you have configured in WordPress.

After you add your RSS feed address, you can configure a schedule for how often your RSS feed will be scanned for new posts.  Unlike JetPack Subscriptions, MailChimp cannot send out updates as soon as you update your blog, and this is probably it’s greatest failing at the moment.  However you can schedule daily, weekly, and even monthly emails.

Setting up the template for RSS-to-Email is just as easy as setting up any other mailing in MailChimp.  Simply drag the RSS Header and RSS Items widgets onto the template, and you’re ready to go.

After you've created your list and added a signup form to your site, create a MailChimp RSS-to-Email Campaign to tie it all together.

After you’ve created your list and added a signup form to your site, create a MailChimp RSS-to-Email Campaign to tie it all together.

Pros and Cons

The benefits of using MailChimp RSS-to-Email campaigns over Jetpack Subscriptions are obvious. You have full control over the process, what emails your subscribers receive, what they look like, and what they contain. On a recent project which used Jetpack Subscriptions, the client was very frustrated with the limited control we had over the emails being sent to her subscribers. This is actually the situation that led to me investigating MailChimp RSS-to-Email.

The cons are a little less obvious.  Jetpack Subscriptions have the benefit of being tied directly to your WordPress install. This means that Jetpack can do it’s thing as soon as you publish a new blog post.  Your MailChimp Campaign isn’t directly connected to WordPress. When you setup your campaign you tell MailChimp a time and a schedule at which it should check your RSS feed for updates.  MailChimp will generate and send your mailings only on the designated schedule and not on-demand.  If that’s a deal-breaker, then MailChimp RSS-to-Email may not be the solution for you.  However I would hope that they make this available in the future.

 

WordPress Logo

WordPress Scheduled Posts and Time Zones

I’m doing some work for a celebrity chef who has a ton of cooks in her kitchen. One of them is responsible for her blogging and social media strategy. She wants to queue a bunch of content that will be released on a slow, steady drip. The WordPress Scheduled Posts features is normally the perfect tool for this job.  Scheduled Posts didn’t work on her first attempt. Unfortunately the post she scheduled for New Years day remained in draft mode the morning of January 1. What went wrong?

How to fix WordPress Scheduled Posts by Setting your Time Zone

The answer is simple.  The developer that initially setup the client’s WordPress site left the time zone configured to UTC while the the client and her entire support team are on Eastern Time.  Solving the problem was as easy as setting the time zone in the WordPress General Settings screen by going to your Dashboard and selecting Settings > General from the main menu. Choose your time zone and then click Save Changes. WordPress lists time zones by UTC offset.  If you’re not sure of your offset, you can consult a helpful time zone chart here.

This image shows you how to fix WordPress Scheduled Posts by setting your time zone in WordPress

Follow the steps shown in thie image to set your time zone in WordPress.