WordPress Gets Bigger & Better & Sometimes Too Big

After upgrading about 25 of my client and personal sites to the recent WordPress 4.2 version(s), I can tell you that things are working better than they ever have for WordPress.

Though I have worked on every angle of WordPress from being a user, developing templates, creating and programming plugins to fixing WordPress bugs and installations, I can say now more than ever that WordPress is a great way to go if you don’t need a custom development project.

Saying all that, you would think I am a total WordPress lover.  In fact, the biggest issues I have had to work on recently related to WordPress have more to do with either 1 of 2 user created issues.

Too Many Plugins

The first common problem for users is the user added so many plugins that WordPress is now either broken or has an error in the admin screens or you can’t open the admin.  You can’t blame users for loading up these amazing plugins.  There are about 15 I highly recommend.  But just like your iPhone/Android Phone if you load up too many apps, eventually your cell phone will crash and burn.  I was hired to consult on a WordPress implementation where there were at least 20 plugins.  Once you do an upgrade the likelihood of a having a problem plugin increases exponentially, since all your plugin makes have to have a version that is tested against the new version of WordPress.  So having your website on auto-upgrade WordPress versions can lead to one day opening up your URL and seeing a broken site.

The Dreaded WordPress, Server or Language Upgrades

What happens when you upgrade your version of WordPress is the potential for corrupt files, permission on file issues, database table upgrades and other small quirks.  This the price you pay for being a user of WordPress.  Remember, it is free.  They are doing upgrades like every 30 days sometimes, so the introduction of bugs is very common.  I don’t know a user of WordPress who has not had a small issue.  It is all worth it though, for the value you are getting.  Also just wanted to mention that a hosting company upgrade of some sort has caused me headaches over the years as well.  It is possible that last night the hosting company went from PHP 5.5 to PHP 5.6. Not sure why, but there is a possible incompatibility with WordPress now, especially if you have custom plugin or template code.

What’s Next For WordPress

A couple years ago I read that WordPress was at 8 million downloads per version and 8% of the web.  Now it has to be in the 25 to 50 million range and a good 25% of websites or greater.  You can look this up.  It is big.  It is getting bigger.  Just happens I developed some expertise with WordPress.  It is here to stay and it is important.  The next stages for WordPress look to me like a very similar path of Microsoft.  Once you get to a level where the majority of users are using your system, you have power and the ability to make an impact with a small move.  For instance, the paid side of WordPress coming soon.  Everything that is free in life will eventually have a price.  If you are looking for a WordPress consultant because your site is either locked up, showing a can not open, can not install or other issue feel free to contact me and ask me questions.

Dan Gudema

Passwords, Security, Tech Snafu’s & Support

Well, with a title of a blog post like “Passwords, Security, Tech Snafu’s & Support” I am going to cover in this blog article a bunch of thoughts on the support process that I have navigated in the past couple years with our speed dating company.  This means I may chat about the importance of stability, password security, or issues I have run into trying to keep things running, since there are down times and bugs.

First Things First:  What The Heck Have I Gotten Myself Into

Nothing I am saying here is a hard and fast rule.  It is based on my experience.  Let me first start with the overall situation I am in.   Back in 2001 I helped a certain person create a speed dating business.  By help, I mean I wrote all the web application code to create a website so people in many, many cities could both run speed dating events and sign up for events.  This company, called Pre-Dating, went on to be sold to Cupid.com.  When Cupid no longer wanted it, they sold it back to us, and in 2010 I redeveloped the code again from scratch and we recreated the business on a back-end platform called Take It National, i.e. Takeitnational.com.  While I did all these things and built all these systems that work (nicely), I still profess that I am by no means an expert or a serious, serious programmer.

1. It Works

The most important rule to me and a lot of top developers I know is that it works and does not crash!  This means that my code is not sophisticated, not always in the code hall of fame or MVC perfect or something to write an article or home about.

2. No Bugs, But There Is Downtime.

I hate bugs, and of course I work toward no bugs.  Who doesn’t?  There are some down times, but I will get into when that happens and why it will eventually happen. There are a dozen lessons I learned over the last 12 years dealing with these systems, but the fact is you can not make a perfect system, because even if you made the system perfect, there still would be a crash one day, especially if that is the day the operating system, hardware or the software language gets upgrades.

3. Upgrades, The Bane Of My Existence.

90% of my bugs today are upgrade related.  For instance the big one recently was an upgrade to PHP Version 5.4 from 5.2.  I found out about it when I got a call from the site manager who told me the site was offline with 404 error.   After a little bit of research reading through the logs, I realized that the errors we were getting were due to an upgrade in PHP.  I don’t even know when there are upgrades of languages.  And why would I think an upgrade would crash my system?  So, I found out eventually that this little note on the official PHP site said, hey you had 12 years of us saying this function is going away and to change your code around…

4.  Build For The Next Guy.

One thing I have taken into consideration is building a system where another programmer who knows PHP enough can easily take over and work on it.  I have even gone as far as keeping code in very specific directories so another programmer could take over and figure it all out.

5. Build Like It Will Be Around A While.

So how would I know that 12 years later, a couple versions of my code would still be running.  I didn’t.  Some guy may have written some mainframe code 30 years ago that is still in production.  How would he know that would happen?  We don’t.  But taking a few things into consideration, like not using the most sophisticated ways of doing things helps as well as making sure the code can easily be moved between servers.  For instance, we had an application a few years ago that was looking for an E: drive for an extension, this was ASP, and we had just moved the code.  There was no E: drive!

6. User Errors

Then there is the case where there looked to be a major error in the system, but the error was caused by user data entry.  The users had specifically added or changed something that caused the bug.  This can happen when you leave back-door admin openings (like text fields with no rules) for administrators to add stuff they are not supposed to.  This is why I am becoming more and more negative about HTML content apps on the back-end versus text.  With HTML you can mess up the application easily.  Most important thing here is to check to see if the problem is user entry created first, before jumping in and programming.

7.  The Once In A Lifetime Bug

There is this one bug that happened to me over the years that drove me crazy.  A user with an Irish last name, like O’Neil, wanted to make sure their name had an apostrophe in the name.  So they tried to force their name through the email signup with an apostrophe.  Later on that messes up the application in that it can send a stop code or start code message to the system.  So I fixed this and these users could not enter the apostrophe anymore.  Meanwhile a few years later one of my admins gets a call from a customer and then forces the apostrophe into the system via an admin screen.

8. Using System Email Addresses

There is an article that basically says that they got hacked using their company email address vs. using a Google email or large system email address.  The reason this can happen is if the hacker gets control of the mail system.  How does that happen?  They hack into your GoDaddy account and redirect the mail services to their own server.  This has happened a few times recently.   And with that, they are able to reset your passwords on sites like Twitter, Facebook even Paypal.  So, what I am saying is it is best to use a Gmail or Hotmail email address for the admin accounts, because they will never get control of the back-end of Google.  Obviously bad things can happen as well on Google, but less likely to lose control of the overall domain.

9.  Solve Things Early

General Schwarzkopf had a great saying, (I am misquoting him here, i.e., sic) that “The Quicker You Make A Decision, The Faster You Have Time To Change It”.  In other words trying to get to the problem asap.  So that is why I am always available for a support email, AIM, SMS and make sure the issues are resolved as soon as possible.  It may take time to fix things and figure out a problem, but it is important to solve those problems as quickly as we can.

10.  You Can’t Think Of Everything

I am guilty of many things, and as technology gets more sophisticated I become guiltier and guiltier as I know less and less.  You can’t master everything or know everything.   What you can do is learn what does not change so often… things like MS Excel and Linux.    In 1989 I went to the book store and there were only 4 or 5 books on computers in local bookstores.  Those days ended with thousands of books. And finally today, most of us don’t read books, but we can find 10,000+ articles online that help us solve things.