W3 Total Cache Settings

Many W3 Total Cache settings are preset (shown in the install tab), but not all. I’ll walk you through the performance tabs then help you setup Cloudflare (free) and MaxCDN ($90/year with my coupon or do a free 30 day trial). I have used the W3 + Cloudflare + MaxCDN + SiteGround combo to make multiple WordPress site load 400% faster – now let’s do yours!

Over 75,000+ people have used this tutorial to optimize their WordPress site. It can fix over 20 items in Pingdom: caching, minify, gzip, bad requests, cache validator, add expires headers, ETag, content delivery network, reduce DNS lookups, cookie-free domains, and plenty more. This tutorial is current with the latest W3 Total Cache version 0.9.5.2 updated Jan. 17, 2017.

Here’s my Pingdom report with W3 Total Cache. My GTmetrix report is pretty good too. Of course if you want a nice report like this you NEED to be on fast servers, minimize plugins and external requests, optimize images, and ideally do everything in my WordPress speed guide.

W3 Total Cache Pingdom Test

Download my recommended W3 Total Cache settings here (you’ll need a Dropbox account). Upload under Performance → General Settings → Import / Export Settings. Check your site to make sure everything is OK (should be). You will still need to configure MaxCDN + Cloudflare.

 

w3-total-cache-performance-tab-settings

 

 

1. General Settings

w3-total-cache-general-settings

Here’s my 25% off MaxCDN coupon ($90/year annually) or sign up for a free trial. Then head to my MaxCDN section. This is recommended in the official WordPress optimization guide…

Geographic-Distance

Here is how Google Page Speed Insights look in your W3 Total Cache “dashboard” tab once you’ve added an API (instructions provided in W3 Total Cache). I prefer Pingdom over GTmetrix and Google Page Speed Insights because it’s more accurate (WP Rocket says so too).

google-page-speed-wordpress-dashboard

 

2. Page Cache

w3-total-cache-page-cache-settings

Enabling compatibility mode is highly recommended by plugin developer (in the install tab) and even though it may slightly reduce performance, problems are much less likely to exist with your site. He says this “optimizes the interoperability of caching; the tradeoff is that disk enhanced page cache performance under load tests will be decreased by ~20% at scale.”

 

3. Minify Settings

The plugin developer says the recommended settings for minify, database, and object cache are preset. You can find this in the install tab. Remember, if you’re using Cloudflare this will take care of minify for you, so just make sure minify is turned off in the General Settings tab.

w3-total-cache-install-tab

 

4. Database Cache

  • Leave as is (recommended in install tab)

 

5. Object Cache

  • Leave as is (recommended in install tab)

 

6. Browser Cache

w3-total-cache-browser-settings

Leave everything else including ‘expires header lifetime’ which the developer says is preset.

 

7. CDN

MaxCDN mirrors your site on multiple data centers around the world which reduces the geographical distance between your server and visitor. Without a CDN, you only have 1 origin server which can be very far away for many people. MaxCDN is specifically good for improving items like reduce HTTP requests, use a content delivery network, reduce DNS lookups, reduce cookie size, cookie-free domains, and other items in Pingdom and other speed testing tools. And yes, you should get better results if you use both Cloudflare and MaxCDN.

MaxCDN W3 Total Cache General Settings

How To Setup MaxCDN With W3 Total Cache
1. Sign up for MaxCDN. My 25% off coupon + 2 free months for annual billing = $90/year, or do a free trial. Use the steps below or watch my video. MaxCDN also has their own tutorial.

Sign up for your plan…

MaxCDN Signup Page

2. Once signed up, go to your MaxCDN dashboard and go to Zones → Create Pull Zone:

maxcdn-pull-zone

3. Enter your website as the origin server URL, the other two are your site name. Click create.

MaxCDN Pullzone

4. Leave this window open (you will need your CDN URL for step 8).

maxcdn-cdn-url

5. Still in MaxCDN, go to the “Account” tab and go to API → View All  → Create Application:

MaxCDN Application

  • Name/description should be your sitename
  • Application URL and Callback URL should be empty

6. After creating an API, leave that window open too. So now you should have your pull zone info and API info (step 4 and 5) open in 2 tabs, which is the info we need for W3 Total Cache:

maxcdn-api-info
maxcdn-pull-zone-info

 

7. Head over to W3 Total Cache and navigate to the General Settings tab, scroll down and enable MaxCDN (remember when you’re using a CDN, database cache should be disabled):

maxcdn-w3-total-cache

8. Now go to the CDN tab and use these settings. You’ll need to enter your alias+key+secret and CDN URL (from step 6), then use the test button to make sure MaxCDN is working…

w3-total-cache-maxcdn-settings

Here’s where you enter your MaxCDN info in the “CDN” tab…

w3-total-cache-maxcdn-settings

9. Save changes, then go back to MaxCDN and Whitelist your hosting IP (W3 Total Cache should have a notification with that IP address). Copy and paste into MaxCDN’s IP Whitelist:

maxcdn-ip-whitelist

whitelist-ip-address-maxcdn

10. Finally, view pull zones in MaxCDN and go to Manage → Settings. Make sure you ‘strip all cookies’ and follow the same settings I use, which were configured by MaxCDN themselves.

maxcdn-pull-zone-settings

All done!

If you see “cookie-free domains” in your Pingdom report, you may want to contact MaxCDN’s support to see if they will help you with this – they were able to fix this for me.

cookie-free-domains-maxcdn

Be sure to contact MaxCDN support as they were able to tweak my settings to further improve my performance grade. They have one of the best support teams ever – definitely utilize it.

CDN pointers from the plugin developer (found in Install tab) – if you do not use the Media Library, import your images etc into the default locations. Use the Media Library Import Tool on the “CDN” tab to do this. If you do not have a CDN provider, you can still improve your site’s performance using the “Self-hosted” method. On your own server, create a subdomain and matching DNS Zone record; e.g. static.domain.com and configure FTP options on the “Content Delivery Network” tab. Be sure to FTP upload the appropriate files, using the upload buttons.

 

8. Fragment Cache

You will need to upgrade to W3 Total Cache Pro to use fragment cache (which can make your site faster), but to be honest I don’t use it… so I can’t say whether it’s worth upgrading. If you do they have recommendations on that page I linked to which helps with fragment cache and making the plugin aware you’re grouping transients. You’ll need have some coding experience.

 

9. Extensions

w3-total-cache-extensions

Cloudflare – activate and see step 10.

Genesis Framework – if you’re using the Genesis Framework you can click the ‘upgrade’ button in W3TC to buy W3 Total Cache Pro for $99/year. This will enable additional speed features like fragment cache and the Genesis Framework extension which can improve site speed. Once purchased, it should say “the plugin is enabled in community mode.” Alternatively, your license key will be sent to you via email which you can enter in the General Settings tab.

WordPress SEO by Yoast – activate if using Yoast (ps. my Yoast tutorial is just as good as this).

 

10. Cloudflare

1. In the W3 Total Cache ‘Extensions’ tab, activate CloudeFlare and click the settings:

w3-total-cache-cloudflare-activation

Configure these Cloudflare settings:

w3-total-cache-cloudflare-settings

Caching Levels – I use the aggressive caching level which includes query strings.

Hotlink protection – prevents spammy sites from hosting your images on their site (sucking up your bandwidth) which can cause CPU overages with your hosting company. This was a HUGE problem for me and I suggest monitoring links to your site in Google Search Console to make sure there aren’t a crapload of spammy sites doing this. Hotlink protection prevents this.

2. Now sign up for Cloudflare. You will be prompted to add your website and begin scan…

cloudflare-begin-scan

3. Click ‘continue setup’ then scroll down through the rubbish and click continue…

Cloudflare missing records

4. Choose ‘free website’ then continue. Cloudflare will provide you with 2 nameservers:

cloudflare-custom-nameservers

5. Do a Google search for “how to change nameservers on SiteGround” (only search for your host), then follow their instructions. You will likely copy Cloudflare’s nameservers and paste them into a custom nameservers option in your hosting cPanel (screenshot below is for SiteGround). Then go back to Cloudflare and click ‘I’ve added all missing records, continue.’ You can also use whois.net to double check that your nameservers have been changed.

siteground-dns-records

6. Now login to Cloudflare and go to your speed settings. You definitely want to enable auto minify for ALL items and Rocket Loader

cloudflare-speed-settings

7. Now go to your page rules settings. There are 3 page rules I recommend creating:

cloudflare-page-rule

cloudflare-page-rule-2

cloudflare-page-rule-3

Once you’re done configuring W3 Total Cache, MaxCDN and Cloudflare, purge all caches in W3 Total Cache (below). If you don’t see this, there may be an ’empty all caches’ option in the dashboard tab. Then retest your site in Pingdom. It can take up to 72 hours for Cloudflare nameservers to propagate, but you should receive a confirmation email when it’s complete.

purge-all-cache

 

Source: Online Media Masters

Tools We Use And Recommend

Managed WordPress Hosting

Engineered for speed, built for security, crafted for WordPress. Feature-rich managed WordPress hosting with premium support, starting at just $3.95/month.

Elegant Themes with Visual Builder

WordPress Themes That Empower 401,632 Customers.  Get The Ultimate WordPress Toolkit For Web Design Professionals And Business Owners

Constant Contact

With Constant Contact, you can create effective email marketing and other online marketing campaigns to meet your business goals

whitespark

Whitespark builds tools and provides services that help businesses and agencies with local search marketing. We live and breathe local SEO and we’re known far and wide for writing and speaking on it.

Udemy

Be Able. From programming to photography, take in-depth online courses and meet any challenge with skill.

At TJ-WEBS, our goal is to provide awesome & affordable web design to individuals, small businesses and non-profits. We love the little guys, the newbies, the novices… the up-and-comers, the mom and pops and the have nots. We believe beautiful websites can be affordable and accessible to everyone. From basic blogs to full blown e-Commerce sites, we offer affordable websites to all.

Remove Query string of css/js files

Most of the time we found that WordPress use the query string like ?ver= 2.3.7  for all the js and css files of wp-content and wp-includes files. So, when we check the performance of our site with gtmetrix.com or any other online tool, it shows some instruction to reduce that overload.

Resources with a “?” in the URL are not cached by some proxy caching servers. Remove the query string and encode the parameters into the URL for the following resources:

You can simply put the below mentioned code in your current theme’s function.php file.

function rtp_rssv_scripts() {
    global $wp_scripts;
    if (!is_a($wp_scripts, 'WP_Scripts'))
        return;
    foreach ($wp_scripts->registered as $handle => $script)
        $wp_scripts->registered[$handle]->ver = null;
}

function rtp_rssv_styles() {
    global $wp_styles;
    if (!is_a($wp_styles, 'WP_Styles'))
        return;
    foreach ($wp_styles->registered as $handle => $style)
        $wp_styles->registered[$handle]->ver = null;
}

add_action('wp_print_scripts', 'rtp_rssv_scripts', 999);
add_action('wp_print_footer_scripts', 'rtp_rssv_scripts', 999);

add_action('admin_print_styles', 'rtp_rssv_styles', 999);
add_action('wp_print_styles', 'rtp_rssv_styles', 999);

 

And You are done.

Clear the cache of your site/server and cross check site performance on gtmetrix.com.

Source: Easy Engines

 

At TJ-WEBS, our goal is to provide awesome & affordable web design to individuals, small businesses and non-profits. We love the little guys, the newbies, the novices… the up-and-comers, the mom and pops and the have nots. We believe beautiful websites can be affordable and accessible to everyone. From basic blogs to full blown e-Commerce sites, we offer affordable websites to all.

Tools We Use And Recommend

Managed WordPress Hosting

Engineered for speed, built for security, crafted for WordPress. Feature-rich managed WordPress hosting with premium support, starting at just $3.95/month.

Elegant Themes with Visual Builder

WordPress Themes That Empower 401,632 Customers.  Get The Ultimate WordPress Toolkit For Web Design Professionals And Business Owners

Constant Contact

With Constant Contact, you can create effective email marketing and other online marketing campaigns to meet your business goals

whitespark

Whitespark builds tools and provides services that help businesses and agencies with local search marketing. We live and breathe local SEO and we’re known far and wide for writing and speaking on it.

Udemy

Be Able. From programming to photography, take in-depth online courses and meet any challenge with skill.

Use UpdraftPlus To Save Backups To GoogleDrive

use updraftPlus to save backups in google drive

How to use UpdraftPlus to save backups in GoogleDrive in WordPress?

Taking regular backups of your site is extremely important. It can save you website if it ever gets hacked and then these backups can make your site live again in just few minutes.

UpdraftPlus plugin is one of the best and simple to use WordPress plugin for taking full backups of your blogs or websites and then restoring them easily. UpdraftPlus also allow you to easily Schedule or automate your Backups.

UpdraftPlus provides options to save your backup in various locations like:

  • Dropbox.
  • Google Drive.
  • Amazon S3.
  • FTP.
  • Rackspace.

There is Premium version of UpdraftPlus which provides additional functionality like Migrating Site, Multisite Support, Database Text Replace and many more.

Here we will be take a look at the process of configuring UpdraftPlus to upload backups to Google Drive.

Google Drive provides free storage of about 15 GB which is more than enough to store backups of small to medium websites.

The Process of configuring UpdraftPlus to store Backups in GoogleDrive is little lengthy by its totally worth the effort.

Here can follow these steps to setup the backup in UpdraftPlus:

 

Setting up UpdraftPlus to take backups.

 

updraft-setting-google-drive

Go to  Plugins –> UpdraftPlus – Backup/Restore –> Settings  and you will see the UpdraftPlus Backup/Restore page. click  settings  option.

You can select Files Backup Schedule , Database Backup Schedule to schedule regular backup.

After that select  Google Drive  as shown in the above picture.

You need to create a new project for UpdraftPlus. SO log in to your Google Account and you can follow this link to go to your Google API console.

 

Create a new project.

updraft-google-api-console-1

Create a new Google project.

 

 

updraft-google-api-project-2

Enter Project name and Project ID. if you want to get emails from Google, Select Yes otherwise NO.

You need to Agree to their Terms of Service. Press Create button to create a new project for your UpdraftPlus backups.

 

 

updraft-google-api-project-3

Click  Drive API  link to proceed further.

 

 

updraft-google-api-project-4

Click Enable to Enable the API.

 

 

updraft-google-api-project-6-1

Go to  Drive UI Integration tab.

Enter the Application Name and Short Description and other information. and scroll down to see further options.

 

Add Icons and website url.

updraft-google-api-project-6-2

If you want to set an Icon for your Application then you can upload an image here. After that scroll down to see next set of options.

 

 

updraft-google-api-project-app-icon

Same way If you want to set an  Icon  for your  Document  then you can upload an image here.

 

 

updraft-google-api-project-app-icon-4

Fill Open URL field with your website address and if you need additional options then you should configure them too. After this click  Save Changes.

 

 

updraft-google-api-project-app-icon-5

Now go to OAuth consent screen and enter your Email address and Product name.

Click Save to save the changes.

 

 

updraft-google-api-project-app-icon-6

Now select Credentials and click on OAuth client ID.

 

 

updraft-google-api-project-app-icon-9

In Client ID, select Web application as Application  type.

Enter Name (updraftPLUS)  for Client ID.
Enter your Website url in Authorised Javascript origins field.

To fill the Authorized redirect URIs field we need to copy the authorised redirect URI from UpdaftPlus plugin page.

So go back to the UpdraftPlus settings page.

 

 

updraft-google-api-project-app-icon-7

copy the authorised redirect URI text as shown in the above image. Go to Google API Console page.

 

 

updraft-google-api-project-app-icon-8

and paste it here as shown in the picture and finally click Create. It will generate the Client ID and Client secret key.

 

 

updraft-google-api-project-app-icon-10

You can find these Client ID and Client secret key by clicking the credentials as shown in above picture.

 

 

updraft-google-api-project-app-icon-11

You need to copy the Client ID and Client secret key values to enter them on the next step.

 

 

updraftplus-google-api-entry

Enter the Google Drive Client ID and Google Drive Client Secret Key that you copied in previous step in their appropriate fields. After that Click Save.

 

 

updraft-google-api-project-app-icon-12

Now you need to Click on the UpdraftPlus notice to authenticate your Google Drive Account.

 

 

updraft-google-api-project-app-icon-13

You should see the Success message after successful authentication of your Google Drive account.

You can now start taking your First Backup now By Clicking  Backup Now button.

 

Taking Backups

updraft-google-api-project-app-icon-14

Include all the options that you think are necessary and click   Back Now   to proceed further.

 

 

updraft-google-api-project-app-icon-15

Backup is in Progress.

 

 

use updraftplus to save backups in google drive.
How to use updraftplus to save backups in google drive.

Go to your Google Drive account  to verify and you should see an UpdraftPlus folder.  Here all our backups will be stored from now on.

 

 

use updraftplus to save backups in google drive.
How to use updraftplus to save backups in google drive.

Restoring backups, you can choose from Database, Plugins and other options to restore them if ever needed.

 

 

use updraftplus to save backups in google drive.
how to use updraftplus to save backups in google drive.

Click Restore and you are good to go.

GoDaddy Email Forwarding

Many of my WordPress website clients have recently been running into email problems on their sites.  Email configurations that had been working previously just seem to break.

I don’t fully understand the issues but I suspect that some sort of email spam prevention sortware on the website host is responsible for the sudden change.  From the website Living With Beth I fund this statement:

I researched the problem some more and came across information deep in a forum post that seemed to point me in the right direction. Apparently, at some point, GoDaddy email add some powerful spam protections that make it impossible for GoDaddy managed WordPress to send emails unless they come from a GoDaddy-hosted email address.

The fix for this issue is dependent on the hosting company. For example, the fix for my Dreanhost clients has been different that what works for my GoDaddy hosted clients.  I used the Postman SMTP plugin for all the various hosts.  But the configuration is vastly different for each host.

On GoDaddy I set up a forwarding email accoount and configure the Postman SMTP plugin in the defaul mode to use the forwarding emaill address.

Here are the GoDaddy steps to set up the forwarding email.

WordPress on GoDaddy email problems? Here's how I fixed them.

To set up a GoDaddy email address for yourself, login to GoDaddy, then click Hosting at the top, then Email.

You should see a list of any email addresses your domains have. Click the Create button, and you’ll see a dialog box for creating a new email account.

WordPress on GoDaddy email problems? Here's how I fixed them.

If you click Change Plan, you can choose which domain you want to draw the email account from.

WordPress on GoDaddy email problems? Here's how I fixed them.

When you start typing the email address and hit the @ symbol, you’ll see a list of the available domains, including your managed WordPress one.

In the bottom pane where you see additional options, you can choose to forward emails from your new GoDaddy email to another address, and you can choose the size of the mailbox. Keep in mind that even if you choose the largest size available and have messages forwarded to another email box, you will need to check this mailbox periodically.

Otherwise, it will eventually fill up and stop accepting new messages. Forwarded emails will remain in the mailbox until you login to the actual mailbox and delete them.

WordPress on GoDaddy email problems? Here's how I fixed them.

Based on my own trial, error and research, I don’t think you’l

 

http://livingwithbeth.com/godaddy-email/

How Much Should A Custom WordPress Website Cost?

Freelancer rates

Beginner freelancer: $25-$40 per hour
Intermediate freelancer: $40-75 per hour
Good, experienced freelancer: $75 – $125 per hour
Excellent, in demand freelancer: $125 – $175 per hour
Specialist, best in industry: $175 – $400 per hour

Agency rates

Small market general agency: $50 – $75 per hour
Medium market general agency: $75 – $115 per hour
Medium market reputable agency: $115 – $150 per hour
Medium market high end agency: $150 – $175 per hour
Medium market best in industry agency: $175 – $225 per hour
Large market reputable agency: $150 – $175 per hour
Large market high end agency: $175 – $250 per hour
Large market best in industry agency: $200 – $275 per hour

See the great article at Post Status for the full report on how to price your website work

6 Steps to Building a WordPress Maintenance Business

By Stephen Altrogge

Pro Ebook group

Recurring revenue is the Shangri-La for business owners. Rather than scrapping and fighting and hunting for new clients, you have the same clients coming to you again, providing you with a steady stream of income. It takes away the stress of having to dig up new streams of revenue and allows you to start planning ahead.

But if you’re a WordPress designer or developer, you may be a bit perplexed about this whole “recurring revenue” thing. You make your money when clients need something new, like a website refresh for a site that looks like it was designed when MySpace was hot. You essentially have to wait for them to decide they want to change things. The whole idea of regular income feels like a mystery.

We’ve got some good news. Using the WordPress skills you already have, you can add WordPress maintenance to your business model. Building a WordPress maintenance business gives you the steady income you need while also allowing you to continue the development or design you’re already doing (if you desire).

In this article, we’re going to take a deep dive into the what, why, and how of building your own WordPress maintenance business. Buy the end, you’ll have a firm grasp on how to launch yours.

Step #1: Choose Which Services You’ll Offer

First, you’ll want to choose which services you’re going to offer clients. Before you can offer maintenance services to your clients, you need to know what you’re going to offer. The options here are numerous, including:

  • Website registration and hosting: They need to have this anyway, so why not incorporate this into the services you offer?
  • Security: You know what can happen when a site gets hacked. This is a huge problem that’s only going to get bigger.
  • Backups: Every site should be backed up on a regular basis. If something goes terribly wrong, the only way to restore it is from a backup.
  • Ongoing design and development tweaks to the site: Your clients will want things to be changed. You can offer these changes as part of a monthly package rather than needing to start a new project every time.
  • Content changes and creation. Some of your clients won’t be comfortable creating and uploading their own content. You can charge them to do so.
  • Social media management. Your clients probably know they need a social media presence but some may not know now to do it.

There are numerous other options you can offer, such as analytics, email marketing, online advertising, and consultation. Choose the services that will generate the most revenue while requiring the least additional work to what you’re already doing.

If you choose to offer only maintenance services, you have the option of partnering up with other designers and developers who aren’t interested in the maintenance side of things.

Step #2: Determine Your Pricing Model

The next step is to determine how much you’ll charge for your maintenance services. Before you can do this, there are several factors you need to take into consideration.

What are your monthly expenses? You must be able to cover your monthly and annual expenses, allow space for slow periods and client acquisition, as well as take into account your own margin. Don’t underestimate this or you’ll end up charging too little, which is difficult to back out of once you’ve offered it to clients.

How much does your competition charge? Evaluate your competition and then determine how you’ll stack up. Don’t necessarily try to offer the lowest price, especially if you’re offering superior services.

What service tiers will you offer? Creating several tiers of services at different price points allows you to take advantage of higher paying customers who want superior services while also offering a less expensive option to those with budget restrictions. Additionally, if you start a client at a lower tier you can slowly nudge them toward choosing more services.

As you negotiate with your clients, don’t let them determine the price. They probably don’t have a true understanding both of what you offer and what services like yours normally cost. Plus, there is always someone will to offer bad service at a lower price. Don’t engage in a race to the bottom.

Also, always ensure you plan for things going bad. You will encounter problems that take an inordinate amount of time, so factor those events into your price.

Step #3: Promote Your Services

Now that you’ve established what you’re going to offer and how much you’re going to charge, it’s time to start telling the world. The first step is to create a detailed “Services” page on your website. This is going to be the primary place you send potential clients who are interested in hiring you.

Here are some key things to consider when crafting your services page:

It’s all about the benefits. While you certainly want to describe the specific services you offer, you should spend far more time focusing on how your services will massively improve the lives of your customers. Remember, ultimately you’re selling peace of mind. Your backup, security, optimization, and other services allow the customer to know that everything will keep working smoothly. Paint a picture of the good life when discussing services you offer.

Set yourself apart. You need to be able to set yourself apart from your competitors, either through price, number of services, quality of service, attention to detail, or some other factor. Don’t be afraid to explicitly say why you’re a better choice.

Press in on the pain. Acknowledging specific customer pain points allows you to offer the solution to the pain. It shows customers that you have very pointed solutions to their difficult issues.

Make it easy to contact you. This should be obvious, but it’s neglected far too often. You want new clients, so don’t make it difficult to contact you. Put your contact form front and center.

Another simple way to advertise your services is to begin promoting them to your circles on social media. There’s a significant chance that at least one of your contacts will want or know someone who wants WordPress maintenance services.

Step #4: Explain The Importance Of Maintenance To Your Existing Clients

Unless your clients are particularly tech savvy, they’re probably not going to understand why they need someone to perform maintenance on their website. After all, this is a website we’re talking about, not a high performance car engine. They’re already paying you to create something nice for them, so why should they have to pay you to maintain it as well?

A big step in building a WordPress maintenance business is taking the time to explain to your clients why they need maintenance in the first place. Some simple talking points here include:

  • Site Optimization – Few things create problems like sites that aren’t optimized. If a site takes too long to load, visitors will leave quickly and Google can even penalize it, resulting in lower search rankings.
  • Peace of Mind – It’s highly likely that if your clients tried to change settings on the site, they would completely screw up the site. By entrusting all those functions to you, they ensure that their site continues functioning properly and that all necessary updates get made.
  • Your Expertise – Your clients don’t want to spend countless hours trying to figure out things you can handle in a matter of moments. You are offering expert services to them which will dramatically cut down on the amount of time they must spend on maintaining their website.

The arguments in favor of regular maintenance aren’t complicated or difficult to understand, but they’re probably not obvious to those who aren’t tech savvy. Patiently take the time to explain these things to them and help them see that this truly is a worthwhile investment.

There are some relatively ways to get existing clients into a maintenance contract.

  • Offer discounts for a limited time. Offering the first month, or several months at a discounted rate are a great way to entice customers to buy in to the idea of maintenance. Plus, once they see the value of what you offer, they’re more likely to stay on at the higher price. Just be very clear about when the price will increase and how much it will increase.
  • Include maintenance in project budgets. If you’re doing a design or development project, include a year of maintenance in the initial proposal. This takes care of the project support that most developers offer.
  • Offer a limited trial. Similar to above, offering a trial period of maintenance support in place of standard post-launch support is a simple ways to get customers in the maintenance mindset.

We don’t recommend free support for clients. They’ll latch on to that and be resistant to paying for maintenance services when the time comes.

Step #5: Select Your Tools

Once you’ve gotten some clients, you’ll need a set of tools to help you perform the maintenance tasks. Those tools should include:

Customer Relationship Management (CRM): A CRM system allows you to track your clients, as well as a variety of data associated with those clients. This can be done in a simple spreadsheet, although you may want to use something more sophisticated as your business grows.

Support System: You need to have a way to process help requests from clients, and that’s where a ticketing system comes into place.

Local Desktop Environment: When making changes to a site, you want to be able to test those changes before making them live. That happens in the local desktop environment. DesktopServer is built specifically for WordPress.

Reliable Editor: You’re going to need a full Integrated Development Environment to allow you to make changes to any code on the back end.

Browser Developer Tools: You’ll be using these for inspecting the sites you manage. Chrome and Firefox come with their own set of tools.

FTP: When uploading and download files to the sites, you’ll rely heavily on an FTP client.

Uptime Monitoring: Your clients can’t afford to have their sites go down, and this tool will allow you to monitor the uptime of those sites.

Security: No explanation needed. If one of your clients sites get hacked, you’ll need to act quickly to determine where the hack occurred and how to fix it.

Analytics: Google Analytics allows you to monitor key stats about who is visiting the site, where they’re coming from, etc.

Step #6: Demonstrate Your Value To Your Clients

To keep clients returning month after month, you’re going to want to show them the value of what you’re doing. A simple way to do this is to generate regular reports for them that show what you’ve done for them and how it has helped them. These reports can include:

  • Monthly traffic (include SEO generated traffic to show the value of your optimizations)
  • Top content (especially content you’ve created or promoted)
  • Security hacks thwarted
  • Mobile traffic as well as mobile optimizations you’ve made
  • Uptime reports (demonstrates your reliability)

These types of reports show your clients the value of the services you offer.

Conclusion: What Are You Waiting For?

Running a WordPress maintenance business isn’t all kittens and pots of gold at the end of rainbows. You will have support issues to handle and irate clients who don’t understand what you’re doing. Demonstrating patience, grace, and humanity in these scenarios allows you to handle these problems without burning bridges unnecessarily.

But in spite of these challenges, a maintenance business is an outstanding way to generate recurring revenue and get out of the typical feast or famine cycle that afflicts most freelancers. It also allows you to add additional value to clients and extend the length of business relationships.

Source: Site Point

This article was sponsored by GoDaddy. Thank you for supporting the sponsors who make SitePoint possible.

Increasing the WordPress Memory Limit

If your site is having memory limit issues, you may be able to adjust this yourself.  Make a simple change to either the wp-config.php, PHP.ini, or .htaccess file to increase the WordPress Memory Limit. I use the File Manager on the GoDaddy Hosting page to make the change.  You may need to use FTP if your host does not provide some sore of file editing capability.

To adjust it on your own, here are some things you can try:

1. Edit your wp-config.php file.

Add this to the very bottom, right before the line that says, “Happy Blogging”:

define('WP_MEMORY_LIMIT', '256M');
WordPress memory can be different from the server – you need to set this regardless of server memory settings

http://codex.wordpress.org/Editing_wp-config.php#Increasing_memory_allocated_to_PHP

2. Edit your PHP.ini file.

If you have access to your PHP.ini file, change the line in PHP.ini
If your line shows 64M try 256M:

memory_limit = 256M ; Maximum amount of memory a script may consume (64MB)

3. Edit your .htaccess file.

If you don’t have access to PHP.ini try adding this to an .htaccess file:

php_value memory_limit 256M

4. If none of the above works then you would need to talk to your host about having them increase your memory limit.

 

 

Child Theme Configurator

What is a Child Theme?

A child theme is a special feature of WordPress that lets you override specific styles and functions of another theme. By using a child theme, you can update any WordPress theme without losing your changes.

Child Theme Configurator makes it easy.

Child Theme Configurator is a fast and easy to use CSS editor that allows you to create Child Themes and customize them beyond the options of the WordPress theme Customizer. It helps you easily identify and override the exact CSS attributes you want to change and gives you unlimited control over the look and feel while leaving your WordPress Theme untouched.

Thousands of users have already seen the benefits of Child Theme Configurator making it one of the most popular plugins on WordPress.org.* Read the reviews

Child Theme Configurator parses and indexes a WordPress theme’s stylesheet so that every media query, selector, attribute rule and value are at your fingertips. Second, it shows you how each change you make will look before you commit it to the Child Theme. Finally, it saves your work so that you can fine-tune your WordPress Child Theme without the risk of losing your edits.

You can make any number of Child Themes from any existing WordPress Theme. Child Theme Configurator lets you choose from your installed WordPress themes (even existing child themes) and save the results in your Themes directory.

When you are ready, just activate the child theme and your WordPress theme takes on the new look and feel automatically.

Be sure to check the Copy Parent Menu option if you’ve altered the default menu.

ChildTheme 2

How to change the text on the Divi Footer

The default Divi footer message states that the website was designed by Elegant Themes and powered by WordPress.  I like to mention my web design name on the footer so I can drive traffic to my company website.

The message looks like:

Powered by

To make a change to the message the footer.php file.  Complete the following steps.

Navigate to:

Appearance

Editor

Footer.php

Look for<p id=”footer-info”>

Delete the following code snippet:

<p id=”footer-info”><?php printf( __( ‘Designed by %1$s | Powered by %2$s’, ‘Divi’ ), ‘<a href=”http://www.elegantthemes.com” title=”Premium WordPress Themes”>Elegant Themes</a>’, ‘<a href=”http://www.wordpress.org”>WordPress</a>’ ); ?></p>

Replace it with the following code snippet:

<p id=”footer-info”><?php printf( __( ‘Designed by %1$s | using the DIVI theme from %2$s | Powered by %3$s’, ‘Divi’ ), ‘<a href=”http://tj-webs.com/”>TJ-WEBS</a>’, ‘<a href=”http://www.elegantthemes.com” title=”Premium WordPress Themes”>Elegant Themes</a>’, ‘<a href=”http://www.wordpress.org”>WordPress</a>’ ); ?></p>

This will result in a footer message:

Powered by 2

Divi Logo Size

To change the size of the logo on the Divi theme, add the following CSS to Custom CSS panel on the Theme Options page.

.et_fixed_nav #logo {
max-height: 75px;
}
.et-fixed-header #logo {
max-height: 50px !important;
padding:0 !important;
}

14 Most Common WordPress Errors and How to Fix Them

While WordPress is really easy to use, there are some common WordPress errors that can make you panic. The good thing is that the error you are seeing on your site is most likely been reported and resolved by someone before you. At WPBeginner, we have written tutorials on how to fix several popular WordPress errors. In this article, we will cover the 14 most common WordPress errors along with showing you how to fix all of these common WordPress errors.

Important: Make sure that you have a complete backup of your WordPress site. We strongly recommend using an automated scheduled backup system likeBackupBuddy. However, if you can not install plugins at this time, then check out how to manually create WordPress backup manually. In case you are unable to resolve a issue, please contact your WordPress hosting company.

1. How to Fix the Syntax Error in WordPress

This error usually occurs when you are trying to add code snippets into WordPress and have accidentally missed something or the code has incorrect syntax. This will result into a PHP parse error and you will see a notice like:

Parse error - syntax error, unexpected $end in /public_html/site1/wp-content/themes/my-theme/functions.php on line 278

The error message would indicate the unexpected thing found in the code and the location of the script where the error occurred with line number. To fix this issue you will have to correct the syntax. Most of the time it is a missing bracket, or some unexpected character in the code. [Fix this error]

2. How to Fix the Internal Server Error in WordPress

Another common error that WordPress users may come across is “Internal Server Error”, or sometimes “500 Internal Server Error”. This error usually happens when there is something wrong, but the server is unable to idefntify where the problem is. Since the error message does not indicate where you should look for the error, it pretty much up to you to figure this out. We have compiled a list of solutions that you can try and one of them will help you resolve it. [Fix this error]

3. How to Fix the Error Establishing a Database Connection in WordPress

This error message is clear that your website is unable to connect to the database. However solving this error can be tricky for beginners. Usually this occurs when a user has entered or modified their database credentials (database host, database username, and database password) incorrectly. Sometimes your database server could be unresponsive, or your database may have corrupted. However, most of the time it is usually incorrect database login credentials. Take a look at common solutions for this problem. [Fix this error]

4. How to Fix the WordPress White Screen of Death

This error usually results into a plain white screen with no error message which makes it the most puzzling because you have no clue where to look and what to fix. Most of the time it is caused when a script exhausts PHP memory limit. It can also happen due to a configuration on the server. It is also possible that a user would only see white screen of death on certain sections of their site. [See how to fix this error]

5. How to Fix WordPress Posts Returning 404 Error

The symptoms of this error is that when a user visits a single post on their site they get a 404 page – not found error. The user can browse all other sections of their site including the admin area. The most common cause of this issue is permalink settings in WordPress. To solve this issue a user would need to reconfigure their permalinks settings or manually update their rewrite rules. [Fix this error]

6. How to Fix the Sidebar Below Content Error in WordPress

Another common issue that many WordPress beginners face is sidebar appearing below the content when it is supposed to appear next to the content. Causes of this issue are mostly related to themes. Sometimes when users are adding code snippets to their site, they may accidentally forget to close an html div tag or add an extra closing div which may result into breaking the theme layout. Another common cause is using disproportionate width in CSS or not clearing float properly. [Fix this error]

7. How to Fix White Text and Missing Buttons in WordPress Visual Editor

Sometimes buttons from WordPress visual editor may disappear or start showing blank white spaces instead of buttons. This problem may occur when concatenated JavaScript is not working in user’s admin area, missing or corrupt TinyMCE files, or conflict with some other plugin that modifies or extends the TinyMCE shipped with WordPress. [Fix this error]

8. Fix: WordPress Memory Exhausted Error – Increase PHP Memory

Indications of this error could be a white screen of death, or an error message like this one:

Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 2348617 bytes) in /home/username/public_html/site1/wp-includes/plugin.php on line xxx

This error occurs when a WordPress script or a plugin exhausts the default allocated memory size limit. [Fix this error]

9. What To Do When You Are Locked Out of WordPress Admin (wp-admin)

Sometimes you may find yourself locked out of the WordPress admin area. This could happen if you forgot your password and don’t have to access to password recovery email. This could also happen due to a plugin or code that incorrectly tries to make some changes into admin section. It could also happen if someone has hacked your WordPress site and changed all usernames and passwords. [Fix this issue]

10. How to Fix WordPress Login Page Refreshing and Redirecting Issue

Symptoms of this issue are that when a user attempts to login to the WordPress dashboard, they are redirected by WordPress back to the login page. Most of the time it happens due to incorrect values for site url and home url fields in WordPress options table. [Fix this issue]

11. How to Fix Image Upload Issue in WordPress

Sometimes a user would suddenly notice that all the images from their site are gone and are showing broken image placeholders. When the user tries to upload an image to a post using the media uploader, it results into an error. All these files in the media library will appear as broken. This error occurs due to incorrect file and directory permissions in a WordPress installation. A number of factors may cause this issue. [Fix this issue]

12. How to Fix Common Image Issues in WordPress

Uploading images to a WordPress site can be confusing for someone new to WordPress. A user may be unable to find out how to align images, resize or crop them, or display them in a gallery format. This is not an error or issue in WordPress. You just need to familiarize yourself with how WordPress handles media. [Fix this issue]

13. How to Fix “Are You Sure You Want to Do This” Error in WordPress

Users may come across this error in WordPress admin area. The most common cause of this error is a plugin or theme failing to use Nonce properly. Nonce are special security keys which may be appended to URLs when performing an admin action in WordPress. Sometimes a plugin or theme may use it incorrectly which may result into users seeing this error. [Fix this error]

14. How to Fix Briefly Unavailable for Scheduled Maintenance Error in WordPress

Sometimes due to an unfinished or interrupted WordPress update, you might see Briefly Unavailable for Scheduled Maintenance error in WordPress. What happens there is that WordPress puts your site in maintenance mode during an update. If for some reason the update is interrupted, WordPress does not get the chance to put your site out of the maintenance mode. This error would lock down your entire site and make it unavailable for admins as well as visitors. [Fix this error]

Source: WP Beginner

How to Fix Briefly Unavailable for Scheduled Maintenance Error in WordPress

WordPress added support for automatic updates in version 3.7 which allows WordPress to update itself to minor releases. A common problem when updating on shared WordPress hosting is that the update process may timeout, leaving your site in maintenance mode and inaccessible. In this article, we will show you how to fix Briefly Unavailable for Scheduled Maintenance Error in WordPress.

Unavailable for Maintenance notification in WordPress

Why The Maintenance Error Occurs?

Maintenance mode page is technically not an error. It is a notification page. During the update process, WordPress downloads necessary update files to your server, extracts them, and installs new files. WordPress also puts your site on maintenance mode and displays the “Briefly unavailable for scheduled maintenance” notice during the process.

If everything worked out normally, then this notice will probably be displayed for only a few seconds. However, sometimes due to a web server’s slow response or low memory issue the update script may timeout or gets interrupted. When this happens, WordPress does not get a chance to take your site out of maintenance mode.

How to Fix Maintenance Error in WordPress

First thing you would want to make sure is that your site is updated properly to the latest WordPress. An unfinished or interrupted update may cause issues when your site comes out of maintenance mode. Checkout our guide on how to manually update WordPress using FTP.

Once you have updated WordPress, all you have to do is delete .maintenance file from your site’s root folder using FTP. If you can not see .maintenance file in your site’s root directory, then make sure you checked your FTP client to show hidden files. In Filezilla, you can force it to show hidden files by clicking on Server » Force showing hidden files from the menu bar.

WordPress creates a .maintenance file during the update process which indicates that your site is in the maintenance mode. Unless this file is removed your site will remain in the maintenance mode and your users will continue to see the notification.

How to Customize Maintenance Mode Notification

An easier solution to avoid showing the default maintenance mode notification in WordPress is by redirecting visitors to a temporary maintenance page in WordPress. You will have to put your site on maintenance mode before you update or do any modifications that could temporarily make your site inaccessible to users.

However, if you don’t want to go through manually putting the site into update mode, then you can create a maintenance mode page in WordPress without using a plugin. Simply create a new file maintenance.php on your desktop and paste this code inside it.

01 <?php
02 $protocol = $_SERVER["SERVER_PROTOCOL"];
03 if ( 'HTTP/1.1' != $protocol && 'HTTP/1.0' != $protocol )
04     $protocol = 'HTTP/1.0';
05 header( "$protocol 503 Service Unavailable", true, 503 );
06 header( 'Content-Type: text/html; charset=utf-8' );
07 ?>
08 <html xmlns="http://www.w3.org/1999/xhtml">
09 <body>
10     <h1>We are updating the site, please check back in 30 minutes.</h1>
11 </body>
12 </html>
13 <?php die(); ?>

Upload this file to your WordPress site’s wp-content directory. Now whenever you are updating your site WordPress will show this page during the maintenance mode. You can use CSS to style this page anyway you want.

Source: WPBeginner