WP Admin Menu Problems in Chrome

Is your WordPress Admin menu acting strangely.  Are WP menu items moving up and down and not displaying correctly?  Are you using Chrome?  Think you are going crazy?  Well, you’re not.

It’s a bug in Chrome.  Just go here

chrome://flags/#disable-slimming-paint

and click “enable” for the disable-slimming-paint.  Problem solved.

 

For more info, visit the great WP Tavern article on this problem.

WordPress Workflow Environment – Development, Staging and Production

There seems to be a movement against so called Cowboy Coding for WordPress over the last year. This is probably a sign that WordPress is maturing. Developers are using more development tools to streamline their process, user repositories and limit downtime. No more putting up a “Under Maintenance” screen and hacking away at a customer’s WordPress for hours. This point was driven home for me when creating a redesign and realized the site needed to be moved out of Multisite. The move turned out to be a serious challenge and ended up requiring more downtime than I would have liked. I tried to stage the site under a different domain name, but still struggled when moving to production.

Resources for Creating Development and Staging areas

The best article I’ve found for this is Ultimate WordPress Development Workflow by Zach Adams. I’m following his suggestions closely with a few changes.

WordPress Development Server

Vagrant seems very popular right now, and even things like Docker and Wocker are popular. It seems creating a LAMP environment in the quickest, easiest way is a big focus of the WordPress development community. Personally I run an Ubuntu (Kubuntu actually) workstation and have for years. It’s not difficult to setup Apache and MariaDB under Linux if you know how, so I’ve done this. Not sure if there are advantages to the Vagrant process, but looking forward to doing this later.

Syncing Production, Staging and Development

wordmove (https://github.com/welaika/wordmove) is a Ruby gem that will pull and push WordPress from one server to another. It’s a really neat little app, but a bit trick to get to work. It doesn’t seem to have much for error handling, so troubleshooting configuration issues has been challenging. Interestingly, what it does is fairly simple, and could probably be recreated in any language. It uses ssh and rsync to make backups and migrate them.

Revision Control

Git using bitbucket or some similar service, there seems to be many. Not too much wiggle room here, Git seems to be the tool of choice.

Switching Browser from Development to Production

The biggest obstacle for having multiple environments for a WordPress site is switching your browser from one environment to another. WordPress is designed to be configured under a specific domain name, moving sites to new domains has long been a challenge. The traditional way to make a site work in multiple environments is to change your hosts file and manually enter the IP address. This has a couple problems. First is that you can only see one site at a time. You can’t look at the production www.foo.com and the development www.foo.com at the same time unless you have multiple computers. The second, and more dangerous problem is that it’s easy to mix up which server you are on resulting in lost time from not seeing your changes or potentially making a change to a production site without knowing it.

There seems to be some FireFox and Chrome plugins that address this, but none of them have very good reviews. What sounds like a better solution is the Studio 24 WordPress Multi-Environment Config This setup modifies WordPress to include multiple config files which can setup the domain name the site is being run under, so the development server could be setup as dev.foo.com, staging as staging.foo.com and production as www.foo.com. These config files would not be moved from site to site and should solve the problem. The domains would still have to be in the hosts file, but that would be a one time change. The downside is it would require some modification to the core WordPress, which is something I’m personally against in a general sense. The good thing is it wouldn’t be too weird, unlike some directory renaming and things that are done in the name of security.

Plugins for Development Environment

There are some great development plugins for WordPress, but these shouldn’t be installed on a production server. Additional plugins can slow down a site, require additional resources, be a potential source of vulnerabilities and create a poor user experience. The question is how can a dev server be setup to include these plugins by default and make sure the developer plugins don’t get pushed up to staging or production. At one time there was a plugin to deal with this, https://wordpress.org/plugins/environmental-plugin-manager/, but it is not currently active.

Staging

Staging seems pretty straightforward as well. Linode has hosting accounts for $10 per month. Seems cheap enough for a decent staging server. One thing I would be concerned about is making sure that only authorized visitors are accessing that server. Keeping both hackers and bots at bay. Last thing you need is Google indexing the staging server site and penalizing the production site for duplicate content or something, plus dealing with Brute Force attacks is no fun for anyone.

It’s tough to have a good workflow process, revision control can be challenging and migration error prone, but done right it should make you a better development team and more productive.

Why Fat Girl Costumes is a HUGE win for Walmart’s SEO team

In case you missed it, the Internet blew up today with the news that Walmart had created a page titled “Fat Girl Costumes” on their website. Thousands of people were offended, major news outlets reported the scandal and articles are being written about it ad nauseam even as I type.

Why did Walmart create a Fat Girl Costumes page

Walmart is not out to offend anyone. When the Walmart web team creates a page, it’s not for editorial value. They aren’t trying to make a point or start a conversation. They are trying to connect with people and sell them stuff. This is what Walmart does, sells stuff.

So why Fat Girl Costumes? Because there is search traffic. Just look at this graphic from Google Trends

trends fat girl costumes

Fat Girl Costumes is trending upward every October over the last 3 years. Walmart isn’t labeling women as fat girls, they are simply trying to get one more search term, connect with one more small segment of society, those that label themselves as “fat girls” and want to dress up for Halloween.

Is this really an SEO win?

The Walmart web team got had the BEST possible situation happen today. Their “Fat Girl Costumes” page literally went viral. Millions of people are talking about it. It’s going to be in the news cycle for the next 3 or for days and thousands of articles are being written about it right now creating links to Walmart’s plus size Halloween costume page. In fact, if I search Google right now for “Fat Girl Costumes” over 100 listings appear in the SERPs that show Walmart’s name.
google fat girl costumes walmart

In fact, if you search for Fat Girl Costumes in Google a shopping page appears.
shop for fat girl costumes on Google

This is EXACTLY what Walmart did and is being crucified for, why is no one complaining about Google calling people fat?

Anyone in search engine marketing wants to have something they created generate this kind of buzz. I’m sure while the Walmart PR team is apologizing, the Walmart web team is cracking open the champagne.

Update: Five months after writing this post a search for Fat Girl Costumes comes up with a list of articles about Walmart.  So, if you are an empowered confident large woman, you still can’t find costumes that fit, only articles mentioning how evil Walmart is for providing you with products.  Sigh…

Speeding up your WordPress site – Hosting, Caching and Compression

Vintage Speed by Pierre Boidin https://www.flickr.com/photos/d7000pb/Is your WordPress site slow? Tired of long waits for pages to load? Are your visitors leaving early? Here is a quick guide to making your WordPress site as fast as possible.

Test Your Site

I was going to leave this tip for last, but if you actually want to see your improvement you should make this one of the first things you do. The most popular right now is GTmetrix. Dotcom-Monitor is another great site with a full suite of tools designed to measure speed as well as conduct a host of other tests for your sites. Go to one of these sites right now and run a test on your domain. Take a screenshot of the score and load time so you can compare it with the changes you make to the sites.

Get High Quality Hosting

If you are trying to run WordPress on discount shared hosting, stop. Generic discount shared hosting (GoDaddy, Bluehost, HostGator, NetworkSolutions, etc..) is built for the lowest common denominator. It’s designed to throttle sites that get too busy (or get hacked), limit memory use and just not be optimized for performance. Let’s face it, you get what you pay for.

The most basic thing you need to do to improve your site’s performance is make sure it lives on a premium hosting service that provides enough resources for WordPress to operate properly. It’s also good to be on a managed WordPress host to make sure both the WordPress code and all plugins are always up to date.

Plugins for Caching and Optimization

Caching

Caching is a process where static copies of your dynamically created pages are created and served to visitors. These cached pages are updated from time to time to make sure that they are always current. The only downside of using a caching plugin is that changes to your site may not show up immediately and may require the cache to be cleared during the development process. I won’t go into a lot of detail on the caching right now, but recommend either WP Super Cache or W3 Total Cache

Optimization

Autoptimize is a plugin designed to work with the caching plugins that will minify and defer your javascript and css. It seems to work very well.

Server Modules for WordPress Performance

There are a few Apache modules that will help site performance significantly. The first is mod_deflate which allows gzip compression of a website. Apache will compress files on the server and your browser will uncompress them. Sounds complicated, but it will make your site faster, especially if you have large JS, CSS or Image files that will compress. Your server must have mod_deflate installed, so you may need to discuss this with your hosting company. Here is a great guide on enabling compression for your site once it’s available.

The second module that will help your WordPress site speed is mod_expires which allows you to add Expires headers to your pages. This tells your browser how long to cache the pages of your site. If, like most of us, your site doesn’t change on a daily basis you can set this relatively high.

The last server side improvement is in mod_headers and it’s the HTTP Keep-Alive function. Enabling the HTTP keep-alive allows a browser to use the same connection to request different files from your site.

Improving WordPress Speed is a Process

Did you complete all these updates? Run GTmetrix now and see how the site has improved. This is by no means a comprehensive list. You can use a CDN and do a few things in your theme creation to improve performance, but completing these items are quick, relatively painless and will result in significant speed improvements for your WordPress site.

Local Community Uses Social Media to Find Lost Noodles

Vandalized Greeley SculpturesDowntown Greeley has a tradition of art and sculptures, unfortunately not everyone in this college town appreciates the finer things in life. Justin Deister s “Say Cheese!” sculpture that featured a fork with macaroni on the tines (you know, like we all did with kraft dinner when we were kids) has been vandalized. Miscreants have stolen the noodles that were originally on the sculpture.

Fortunately the area is all under video surveillance, but before the lengthy process of tracking down the perpetrators the Greeley Downtown Development Authority decided to turn to Social Media. They posted this on their Facebook page on Saturday.

“We don’t expect drunken sots at 2am to be able to READ the signs all over the plaza that explain you are under video surveillance, but you are. So we are sure you thought you were very cool defacing a piece of public art, but it will also be very bad for your record when we turn the video over to police. So how about you return those “noodles” by end of day Monday and just pay for damages instead?”

No word yet on the status of the missing noodles.