As with the Checklist, it is divided into multiple simple sections:
Marketing — Instagram, SEO, and Sitemap plugins were standard fare, but they also added lead generation, and contest plugins, most of which I would never use but I’ve also never even thought of them as categories that WP had in their repository.
Development and Design — Child themes, sliders, forms, and lightbox plugins are all standard fare, a good collection. I would have expected a bit more “getting started” plugins before those, but good choices. Typography and shortcode plugins though are really good additions, even if they are more “level 2 or 3” for people new to WordPress.
Monetization — I am not very interested in this area, but I liked they added simple things like PayPal integration, crowdfunding, and e-commerce in general, not just ad systems and affiliate links.
Media Plugins — I was really curious to see what they had listed, particularly just after I did my pic and video integration project. They have audio (not interested), graphs and charts (simple choices, but good), and two video plugins. Not awesome.
Customer Experience — Adding a knowledge base to your own site? I didn’t realize you could do that with a separate plugin, but okay. Translation plugins? Those are giant flags for me as automated translation is often a crapshoot. Live chat plugins, okay. Ratings plugins? Well, that’s a bit different to see. I don’t normally see those covered. And tooltips, whatever.
Security — basic security plugins and role managers? Hmm. I guess since the security packages tend to be all-in-one, I guess that makes sense. I was expecting a suite of smaller functional plugins.
Business Improvements — booking and calendar functions, looks decent. Could put that with customer experience though. Same with directory plugins. Invoice plugins…wouldn’t that go with your e-commerce area? Project management plugins…hmm, now there’s a question if that warrants it’s own item from the rest. Although it gets close to “running the business” to me, kind of like monetization too.
Site optimization — Often these look like snake-oil salespersons, but at least the ones mentioned are reputable. Don’t now how much good they do outside of large business sites. There’s also responsive design, mobile compatibility, etc.
And then the ubiquitous “other” category. But what a category. Plugins to embed games; holiday related plugins; map tools; real estate plugins — wait, what? that’s pretty specific; and comment plugins — why isn’t that with forms and ratings?
A pretty good list overall, and worth my time, even if a bit uneven in places and not as good as the previous guide they shared. I’ll double-check my game and wordsite options, good flags for me.
If you’re reading this, you know that I have a website (the server waves “hello”, by the way). It’s just a personal site, but I’m closing in on a million words worth of posts, so that alone puts me above a number of personal sites out there where people blog for a while and then stop. Plus I’m a bit of a planner, so I approach my site a bit more formally than the “creative” types. (Also explains why it has such a boring layout but that’s another story!). Which quite often means that if I see guides and things designed for businesses that can be applied to my site too, I click, read them, and go to sleep hunting for acorns of truth in a sea of spam and superlatives.
So imagine my surprise when I click on one and find that I LOVE IT.
An organization called WP-Engine wrote “The Ultimate Pre-Launch Checklist for WordPress Websites“ and I thought it was interesting enough to click-through. Sure, I had to surrender my email and look like a business, which I am a bit, and then I got the e-guide. They have it broken down into several headings and I’m going to talk about each one.
Content — replacing dummy content (words, images, video, audio), and proofreading and formatting, and a contact page are standard, but I like the rest of the suggestions for reviewing — page links, downloadable files, 404 error pages (rarely done, mine is pretty minimal), and redirections (from old sites), which a LOT of people don’t do.
Design — I was surprised at this one, as I thought they were mostly going to talk about layouts and themes, but instead they were more on the technical (HTML and CSS validation, optimizing images, FavICONs, and linking header images) and usability testing (previewing in different browsers and platforms, including mobile). However, I didn’t even know you could set up a Print Stylesheet (I tend to just use PrintFriendly) and this may be something to look into as I would like to be able to quickly convert some of the posts into downloadable / printable sheets or PDF.
Functionality — This one looks more like simple usability testing to me, with web forms, auto responders, speeds, social media, RSS, and third-party tools. However, I really like their inclusion of “accessibility guidelines”. Often missed.
SEO — I really hate stuff written about Search Engine Optimization, normally at least. Almost all of it is “I can put your site at the top of the Google results list!” Actually nobody can do that. Not without bot farms and a bunch of shady methods. Real SEO is not about having the perfect design, it’s about content. Always has been, always will be. If you’re a company selling widgets, unless that widget is unique to you, the only way you’re going to the top of the list is if people like your product and search for it or click on links that link to you. An optimized site with crappy products won’t do anything compared to an okay site with great products. The guide has all the basics of meta data, titles, taglines, keywords, and add a site map. It’s a good list, I just wished it focused on the content more…for me, it is more like “don’t forget simple things you can do to avoid missed opportunities”. But it’s not presented egregiously, just one more thing to do.
Marketing — Ruh roh, my alarm bells started ringing. Web marketing tends to be like the classic line about advertising — 50% doesn’t work, we just don’t know which 50%. Except in web marketing, it is likely closer to 90% doesn’t work. And honestly, most of the materials on the net are “Oh, you want to do web marketing? Here’s my tool at $x per month that will make it EASY to GET THE BEST RESULTS on the PLANET, maybe EVEN THE UNIVERSE”. This guide? Nope, it just mentions newsletters, email providers, social icons, and social profiles. Nice.
Legal — Up until this point, I would say the guide is clearly in the top ten of all the ones I have ever seen. Then they do a section on Legal? Nobody does that. NOBODY. Seriously, I’ve never seen it even remotely mentioned in any guide. And I don’t just mean put a copyright notice. They talk about showing the company details — trustworthiness, efficacy, sure, but also mandatory for some jurisdictions, along with tax registration. Ensuring you have all the required licenses for images, fonts, code, plugins? Nobody tells companies to review that! Privacy policies are de rigueur now, so no surprise to include it. Terms and Conditions are good, although I saw a post this week about the readability of them and running it through a barometer of how dense it is. Even cookie warnings and local requirements are mentioned. Awesome. Way beyond anything one needs to do on a personal site, sure, but awesome.
The rest of the guide is equally awesome. Moving the site to a new server, preparing for launch, backup and security, and then the launch. All with decent steps covering the big-ticket items. It even concludes with a bunch of cleanup organizational items.
But if you’re not convinced by my descriptions above, here’s the kicker…wherever there is a popular related plugin in the WordPress repository, they say, “You could use x or y to do this for you.” If you go off and do that, they don’t get a royalty or anything. There’s no click-through to do that. It is just them mentioning it. And most of their recommendations are relatively obvious ones, but it’s what everyone is using. They’re not saying, “Here, try this little plugin that one of our members developed.”
It’s just a great guide. You may have to surrender your email and get a marketing offer for the company to see if you want to hire a WP expert, but the content is awesome.
Among my 50by50 goals, I have a series of inter-related ones called “get my sh** together”. Since those don’t look very nice as page titles, I’ve tweaked it a bit to make it a little more family-friendly (my son, Jacob, age 8, does read my blog, so I should clean up my act). And one thing that has annoyed me on the digital front for a very long time is my online photo gallery.
I won’t bore you with the long version of its sordid history, but the short rant is that I have a website (polywogg.ca) that I pay to host. And so I have my own domain, my own file area, relatively unlimited file storage related to the website (i.e. I can’t turn it into a cloud server, but for the purposes of a website, it’s open season). So I should be able to have a gallery for my personal pictures and video clips. But when it comes to video, almost all the basic hosters have the same limitation.
No hosting video.
If you want to have video on the site, you generally have to upload it to Vimeo or DailyMotion or Youtube (with the ownership and advertisement and privacy issues, oh my, that go along with these sites), and then link to it from your site by embedding the link in your post. It works really well, don’t get me wrong, but dealing with those video sites is a pain in the patootie. A few years ago, I was putting the videos in a password protected area of Vimeo or Dailymotion (I don’t even remember now which one it was), and linking them to a web gallery on my server, running Piwigo as the photo gallery with video embeds. It was working okay, I uploaded about 3000 photos, and then I ran into a problem with the hoster. They claimed it was Piwigo, and after a bunch of testing, frustration, and failure, I eventually killed the Piwigo site and moved everything — photos and video — to SmugMug. Like Flickr and others, it allows you to upload personal photos and videos and then share them. There are basic accounts that are free, but I would have quickly overwhelmed those limits, so I bit the bullet — and paid $80 / year to host everything at SmugMug.
Overall, it’s been great. It took me a while to get up and running, but eventually, I had it all working, so all good. Except it has still been costing me $80 a year when I’m *already paying to host a website elsewhere*. Grrr…oh, and about ten months ago, my workplace updated their firewall blacklist and SmugMug was on it (to prevent people streaming video to the office and sucking up bandwidth) — so when I do blog posts and paste pics from the site, the pics don’t show up in my articles when viewed from work or some other government sites. Which means some of my posts about HR that have pics in them don’t show properly. It has been on my list to fix, but a pain in the patootie to find an alternative, as the most likely alternative is finding somewhere where I could host everything. A new hoster, perhaps. There’s a small chicken-and-egg loop in there, move the site or move the pics, and I’ve not bothered to fix it.
As I said, most basic hosters don’t allow video. They are afraid because video can drastically suck their bandwidth, which they can’t afford to do on basic sites at basic rates. And they don’t want to charge someone $5 / month and have them start streaming movies and trailers for the masses. Except that’s not what I’m doing. I have a few personal videos per month that when posted might get watched by up to five or six people, and then it will sit dormant most of the time. Low bandwidth, nothing major. I know that, the hosters don’t, so they have general policies that say “no video” and they block it internally on the site for all their hosting accounts.
So imagine my surprise recently when I tried a video on my WordPress site and it not only uploaded, stored and loaded on a page, it actually played. WTF? It isn’t blocked? But I know it violates the general terms of service, so I contacted them and asked the question. Maybe I pay them a bit more each month or year so I could host a bit of low bandwidth video on my site? I’m paying SmugMug $80 a year; anything less than that, or potentially even a little more with it fully integrated with my website, and I’d be in digital heaven.
Their response? No extra charge, as long as it is low bandwidth, go ahead. Hallelujah and pass the upload app!
So I confess that once upon a time, I paid for some of my living expenses through the fact that I knew how to work a computer for things like graphics and formatting. No, seriously, back in the early 90s, it made me stand out from other people, the fact that I knew how to work Lotus 1-2-3, Word and WordPerfect, dBase IV and, drumroll please, Harvard Graphics. At the time, I think it was version 3.0, and while people could do very basic graphs in Lotus, the real trick was to choose a variety of simple graphs in Harvard Graphics, add your data, and voila, you were good to go. Back in ’93, for my first job at DFAIT, we did a presentation for Cabinet where all the graphs were done in HG, in colour, and there were about 30 of them. Blew the Cabinet people away, colour slides. In government. Bear in mind that most departments had barely switched over from DOS to Windows, and we gave them a 60-page deck on the future of the Asia Pacific region. Bound.
Now, of course, most people do their graphs in Excel or Powerpoint. And I wanted to do one this week. I have 29 or so “goals” that I am tracking against “Level 1” progress, and I wanted some sort of cheap visualization of how I am doing towards reaching level 1. I started in Powerpoint, which really just replicates the software functionality of Excel, and while it was decent enough, I’m not a graph tweaking expert anymore. I used to be able to get HG get up and dance and look amazing…compared to the Excel graph I did, I feel like I regressed in technology.
So, I was curious. Are there any other data visualization tools out there that people use easily and, more importantly, are free? My friend Aliza mentioned Google Charts and I confess that I had heard it mentioned in passing, but since I had little use for it, I had never looked at it.
I should step back for a second though. I *did* experiment with a WordPress plugin or two a few months back, and well, I was never too satisfied with the result. I would love a simple visualization tool that keeps my data in WordPress, doesn’t add a lot of overhead, and has lots of tweakable options. The experience reminded me a lot of that saying about things being cheap, fast, or good, and you can only pick two. I never quite found what I wanted.
But Google Charts is pretty darn near it. You basically code a function in javascript, and while that may seem a bit more daunting for some, you do get nice code snippets to just copy and paste. Not as intuitive though when it comes to customizing the look and feel…a single page with all of the options would be great, but they are spread across multiple themes. I was using a DIFF Chart, and it was the best I saw…overlapping a bar chart on a previous bar chart, or in my case, putting a light colour to show the “goal” and a darker colour to show actual progress. In the end, though, it was a struggle to get it to format properly and to fit properly as an inline-block within WordPress. It was decent, lots of power, but it renders itself each time it is called, and it wasn’t quick. Plus, for some reason, it was adding a big gap at the top and the bottom of the page. I liked the embedding, but the rest was too much.
I moved on to a variety of other options:
Zing Chart — highly complex, and the options were not as intuitively laid out as Googel Charts;
Tableau — this is only available for download, and I haven’t tried it yet;
PowerView — a Microsoft option, but not available in the version of Excel I was running;
D3.js — A live data tool, I couldn’t even claim to understand how it worked or what I was supposed to do;
Fusion charts — looks pretty solid, but linking to it from WordPress wasn’t obvious, and thus a dead end;
Visual.IS — in addition to having to create an account, it had strong links to paid versions;
High charts — the type of chart I wanted wasn’t there;
Chartist — good mentions of it elsewhere, but the website is just on GitHub, and not as friendly to access;
Piktochart — although it requires an account to be created, the real challenge was that it is also aimed at infographics more so than simple charts, and for some reason, it starts with asking you about infographics vs. presentation vs. printable, i.e. you’re choosing your design and function before you choose anything about what you want to create and put into the presentation, etc.;
Ubiq — data visualization running with MySQL, and I was hoping to avoid a database element;
Vizydrop — pulls data from a datafile (CSV JSON or Excel), which I was also hoping to avoid, but may reconsider;
Plot.ly — no clue what it did as it just kept crashing;
Datamatic — uses Google Drive, which doesn’t sound problematic, except that GD is blocked by our firewall at work, so visualizations wouldn’t work if I wanted to put them on my screen as a reminder; and,
Hohli — I really liked this one, but it seems to be geared towards replacing the interface (or lack thereof) for Google Charts, yet with 1-time creation (i.e. couldn’t seem to save or edit/re-use later).
Which put me back in the world of Excel. I did a graph, and it looks fine. I have room for future expansion of data, which could be useful (kind of stacking option for Level 2). Not exactly quite what I was hoping for in terms of quality, but maybe that is just me needing to spend more time with Excel to make it pretty. I would LOVE to be able to recreate the DIFF chart look and feel of Google Charts. But it met my need for the day (to update on my progress on goals in Goals – Weekly roundup (#2017-01)).
The other night, I was browsing my posts list in my admin panel on the website and noticed something odd — my scheduled post for yesterday morning didn’t actually post. And right next to it in the internal WordPress admin panel was a nice little red warning called “missed schedule”. I had seen this before and thought it was just a glitch, no biggie — just click publish now and it goes live. No problem with the post, it just didn’t go live when it should have. I don’t often schedule future posts when I’m writing detailed posts, although I might change the time stamp to 8:00 or 9:00 in the morning even if I’m writing it at 1:00 in the afternoon, like now. Just a small quirk I do to manage an indexing protocol that checks the time stamp, no real reason.
However, from time to time, I will write a bunch of posts all at once, and I want them spread out over several days. So I “schedule” them for future publication, usually 9:00 in the morning. So, the question was, “Why didn’t they post?”.
Running around the WordPress community
As with most glitches with WordPress, one is often not the first person to encounter it. Simply googling “WordPress Missed Schedule” brought up a whole series of people who had the same problem, posed the question online and had people respond. In most cases, their problem was slightly different in config once I scratched the surface, or the solutions were a bit different than what would seem to fit my situation. However, they did send me looking into several plugins.
I tried a plugin called WP CRONTROL that wasn’t a fix so much as a way to glean some additional diagnostic information. Namely that the small “glitch” was bigger than I thought — my CRON file was not running, and there were problems going back to August. Hundreds of behind-the-scenes happen on your website without your having to control them directly, little bots that can run from time to time, and your website software or the server software has ways to schedule them. Basically the same as your CALENDAR on your computer keeping track of reminders, etc., or even your regular WINDOWS update that does certain things at regular intervals. In this case, WordPress has a file that keeps track of all things it has to do (its own internal to-do list) called WP-CRON. I started trying to clean out the long list of expired entries but it would take forever.
So I added another cron manager called ADVANCED DATABASE CLEANER. Sure, I could have logged into the PHP admin area of my website and manually cleaned things in my database, but why would I do that when this plugin would do it for me?
Down the rabbit hole
I went down a rabbit hole after that. Lots of little tips and tricks everywhere, but few that were specific enough to help me, nor even in a good logical fashion. More like eight hundred people playing hunches and trying something on their server, some with luck, some with none. I jumped the queue while I was working through some of the options and started chatting with the Server Customer Support Rep, but honestly, their Tier 1 people are more about sales than they are tech support. They do okay, but this is way beyond them.
What I often find helpful though is that explaining the problem to them seems to crystallize it better in my own mind, and often triggers thoughts to try x or y that hadn’t occurred to me earlier or that I dismissed too soon. And it gave me a structure for understanding how to solve the problem.
A. GET YOUR DIAGNOSTICS
As I mentioned above, I used WP CRONTROL to see the list of cron activities and ADVANCED DB CLEANER to fix it a bit. WP CRONTROL also told me there was a 403 error (forbidden) on the WP-CRON file, but it wasn’t very convincing since some of the other errors might be causing it.
After going around the pole a few times, I found a great little tool called WP CRON STATUS CHECKER. It only has a few hundred downloads/installs, and it is a great little tool. The plugin doesn’t have a lot of info with it, but it adds a widget in your dashboard that tells you the status of your CRON files. It DOES nothing to fix problems but it does a quick test to see if WP-CRON can even run, and if not, tells you the status (403, etc.). I wish I had found this first. It told me for sure part of the problem was that WP-CRON was not running. And once fixed, you can deactivate it and leave it off. If you leave it activated, it will run on its own every 24 hours to check, but my site isn’t busy enough that I need that level of monitoring.
B. CHECK .HTACCESS
HTML sites have a small file in the directories called “HT access” that controls how visitors can access the individual files in the directory and subdirectory and is the second line of defense against people doing silly things like writing files and overwriting certain files on your site. On sites like WordPress, it’s the equivalent of a master security file that controls a lot of the subsequent access rights.
Some sites said to see if .HTACCESS was corrupted, but I was pretty sure mine wasn’t (I have other plugins that check the status of HTACCESS regularly, they would throw flags if it was corrupted).
What the sites FAILED to mention was that it isn’t just simple CORRUPTION that could be screwing up WP-CRON, it could be the actual proper setup is messing with it. I should have thought of that immediately when I saw the earlier 403 FORBIDDEN message in WP CRONTROL, but when I saw it again in the WP CRON STATUS CHECKER, I knew I had found my problem. Unfortunately, I did this step sixth or seventh instead of second!
The simplest way to see if .HTACCESS is your problem is to temporarily rename it something like .HTACCESS_TEMP or .HTACCESSXX. Then check the status again — if it was .HTACCESS causing the problem, the status will go green when you check after renaming it. If it is still red, move on to other options.
C. CHECK SECURITY PLUGINS
I run WordFence and iThemes, and of all the types of plugins, security ones are the most likely to cause access issues like above and conflicts with other plugins or activities. So, I temporarily deactivated them and then checked my other settings. Nope, still broken, so that was out.
D. CHECK OTHER PLUGINS
Anyone who has had a problem with WordPress, or really any CMS ever, they know that the simplest way to look for a conflict is to just deactivate all your plugins. Considering some people are running TONS of plugins, this isn’t often the favorite solution, but it’s better than turning them off and on one at a time. I deactivated them all, checked status, still broken.
E. CHECK FILE PERMISSIONS FOR WP-CRON
Of course, lots of people would say to check this one first — if WP-CRON is the problem, the “obvious” first step could be to check the file permissions on that specific file to see if the settings are wrong. Good logic, but since WP sets them in batches, the reality is that other files would likely have the wrong settings too and would have thrown red flags much earlier. Remember that this is a low-level file that only flags errors when it DOESN’T run.
For me, I temporarily changed the setting to 777, full read/write/execute and checked status again. Still broken.
F. CHECK FOLDER PERMISSIONS FOR WP ROOT DIRECTORY
I can’t say this would have occurred to me on my own. If WordPress is running, the folder must be set pretty close to right, or the red flags would be borderline catastrophic for failure. Never the less, it was still worth a try — again, I changed to full 777 rights, no change, still broken.
Why did I do all those things?
If all those had failed, I would have eliminated the three most likely internal problems:
corruption of access files;
access / permissions to the file or folder; and/or
conflict from security or other plugins.
That leaves you three other options that I’ve seen:
Try a plugin called WP MISSED SCHEDULE. It isn’t on the main WP install directory, you have to do it manually from GITHUB. I’m personally leery of installing plugins that don’t reside in the WP repository, and on top of that, the installation instructions did not seem awesome for clarity. Lots of people have tried it and had it fail; others did it and said it worked; others said, “huh?”. I also feel like if the problem was any of the first five, this plugin would not fix any of those issues.
Check with your host to see if there is a server config issue. Lots of people have said very simply, “Oh, it’s a config issue, contact your server”, but that is a bit too reactionary. If it is any of the above issues, the server people won’t know how to fix the problem either and unless you’re paying a lot for access to their tech support personnel, they’ll say, “Sorry, that’s a software issue, you’re on your own”. I used mine to get the ticket started, but I had resolved the diagnostic phase before we were done creating the ticket and I had figured out it was an .HTACCESS issue which they don’t help with anyway.
Bypass WP-CRON and create a server cron file to do it at the server level. Yep, to me that’s as advanced as it sounds. If you google, you’ll see lots of people who have written why they don’t use WP-CRON, why they turn it off, etc. Almost all of them are hardcore techies who are totally comfortable running LINUX, the type who would thumb their nose at building a Raspberry Pi project as “toys for kids”. If you go this route, and you have access to CPANEL setup, it really is a single line to tell it what to run and when, but I confess it didn’t work for me, and I didn’t want to mess around too much in that level of direct intervention
You might note that I’ve also left out the nuclear option of reinstalling WordPress from scratch. Honestly, that is pretty low on the list of probable solutions if you have done an upgrade from a previously working version and haven’t mucked around with the configuration too much recently. It *should* work, and if it doesn’t, something else is likely configured wrong, not your basic WP install. Always worth a shot of course, and many people would say to start with that in the first place. Who would say to do that? Those who did everything else, failed, tried a fresh install and it solved their problem and now they preach purity of install. 🙂
So what does this have to do with running my own server?
All of these problems? And I’m only talking about a SMALL software config issue that sent me way down the rabbit hole. If I was running my own server, I would have another 20 possible causes, all having to do with either server configuration or potentially even a hardware issue. One of the “saving” graces to paying someone else to carry the load of managing / running a server with a large hoster is that the cost/benefit ratio to me is WAY in my favour, particularly the number of times a problem like this has frustrated the hell out of me. I don’t need that added stress in my life. And if others are running the same install just fine on the big server, I know it is MY problem, not a technical screw-up that I did in the server setup. Worth it’s weight in gold.
As for me, now that I know it’s an HTACCESS challenge, I can push it to the back burner. I can work around it for now, and at some point, I’ll fix it. For now, I’m leaving it alone.
If you ended up here while searching for a solution, feel free to let me know how it’s going in the comments!