Last week, I introduced TT — Tadpole Tuesday — where I blog about a current project that I’m working on. I started with some website stuff I was doing, namely putting quotes into shareable images and uploading those to the website. I had them in a different form, and I wanted to redo them to make them shareable. All good. But something odd happened on the way to the market, so to speak.
For a bit of background context, you need to know that my website is not a commercial enterprise, so it doesn’t have the complete set of bells and whistles that a whole business website might have. I have a small personal site, at a smaller price point, and a lot of manual management by me. It isn’t super sophisticated, I don’t have e-commerce options running on it, and it isn’t integrated with a warehouse for shipping products. It is a WordPress site running some plugins, and if I run TOO MANY plugins, the site stops loading everything. It runs out of memory, basically, while I’m working on it.
To load a webpage, one of two general options happens on hosted sites (full commercial or personal site).
- On a personal site, my site sits somewhat dormant. It isn’t really DOING anything until someone asks it to do something. And technically, it doesn’t ask my site to do anything, it routes a request like load ThePolyBlog.ca home page; the internet routes that command to the hosting company I have my site with; the hosting company’s servers recognizes that it matches my site; and it sends a command to my personal sub-server area to “wake up and process this command”. Until it does that, my site is almost completely asleep.
- By contrast, a full site runs constantly, like the hosting company’s servers do, looking to see if anyone is sending it a request, kind of like a dog jumping up and down saying, “Is it me? Is it me? Is it me? Is it me?”.
Think of it much like your own PC at home in hibernation mode vs. being “awake” and active. On your own PC, it is running much like my rented server space. It doesn’t do anything unless a timer goes off or someone taps the keyboard / loads a page.
Except for one little niggly detail. Timers would not work on my server.
I don’t have Chron for this
The timer on servers is generically called Chron. It is a traffic cop seeing which requests are coming in when, and processing them in order of their timestamp. And it has a timer. In theory, on just about every server known to exist, you can tell it that you want it to check mail, for instance, every 10 minutes. And every 10 minutes, it goes out and checks mail. Or once a day, it runs a backup. Or once every two days, it refreshes the cache. Or a whole host of regular things that require the timer to trigger them. Most run on their own, at least on most servers.
On my websites, the maintenance stuff for the servers doesn’t actually reside on my server, it sits on the hosting company’s servers. And their Chron works just fine. For my website, however, WordPress has to interface with the Chron timer, and well, they didn’t like each other very much. If the maintenance stuff didn’t run, this could be a problem, but the hosting company’s servers took care of that, leaving my server to just run whatever I want to run within WordPress. Except I don’t have anything that is time-based / schedule-based within WordPress. As I said, I don’t run anything commercial in it, so there’s no newsletter release, or content being pushed for sales notices, or carousels being updated with new ads.
Between 2005 and 2017, I was on various servers. And none of the Chrons would run reliably. In effect, my Chron went to sleep. Once something happened, like someone loading a page anywhere on the site, the server would wake up after the hosting server pinged it, it would sit up in bed, scramble to show whatever page was being requested, and then run Chron. So, if I had scheduled a post to go live at 9:00 a.m., it wouldn’t go live at 9:00 a.m. Chron was sleeping. However, if someone tried to load a page at 9:37 a.m., the server would wake up, show the page, and then run Chron, which would put the page/post live. The one that SHOULD have gone live while Chron was sleeping.
I worked with multiple support groups at different servers. For whatever reason, and it is not comforting to know this, some sites run Chron just fine and others are sleepy butts. Mine has always been a sleepy butt. I fought with it about 4 times, I think, over a 10-12 year period, but it was never a “must-have” for me. If it was, I could have upgraded my server package.
The only benefit that Chron could have given me was to allow scheduling of posts. So, again, if I was a larger enterprise with multiple posts per day and/or week, I could write them in advance (or other contributors could write them), and we could schedule them throughout the week. Jane’s post about corruption at City Hall could go live immediately while updating carousels and ads to go with it. Mike’s post about a cat family at the local park could go on Tuesday near the commute time. Blah blah blah. The comic strips for the week could be pre-loaded to post #272 on Monday at 8:00 a.m., 273 on Tuesday at 8:00 a.m., 274 on Wednesday at 8:00 a.m., and so on.
I don’t normally have that much content that I have to handle scheduling. Search engine optimization and blogging experts advice that if you want to grow your blog, you should post at a set interval, and monitor your take-up. If you know that people click through more if you publish in the afternoon, set your posts to go live in the afternoon; if they like mornings better, post in the morning; if Thursday and Friday are better than the weekend, then post by noon on Friday or wait until Monday for anything else. Have a schedule and stick to it.
Great advice, very logical. And my response has almost always been “meh”. While I would like to boost interaction so that I know SOMEONE is reading my stuff, I’m going to blog regardless. My past research shows that people click when they like, not when I want them to, and because all my sharing is through social media, it depends more heavily on when they read and what their algorithms do with my posts, than what time of day it got posted. Obviously, I don’t want to dump 100 posts in a single day. But since they are always delayed viewing anyway, I feel it is more about the type of posts I do in a single day than the content. For example, I feel like I can post at most one good medium to long post per day. Like this one. But a quote is a single image, and a joke will be a single image. I can add that to my daily feed without overwhelming the recipients. The question is how to queue that up properly.
Buffer is like the Chron I never had
I use Buffer as my social media manager. The way it works is you add a “channel” to Buffer, say your Facebook page; you go in and edit all the settings for that channel and how you want it to post to Facebook with extra words, the order of various fields, which image to use (a default image, a featured image, the first image in a post, etc.), and a number of other features and formats; AND you tell it the schedule to use. This goes back to the advice from blogging experts. For me, I said, “Okay, publish to the Facebook channel at 9:00 a.m. every morning”. That was the only time in the queue. If I wrote a post at midnight and pressed publish, WordPress would send that post to Buffer, Buffer would put it in the next slot (9:00 a.m. the next morning) and when the slot came up, Buffer’s Chron would send / post it to Facebook. In theory, I could write 20 posts over a weekend, tell it to post them, and they would be live on the website immediately. But Buffer would add them into the queue and send them out one per day for the next 20 days. It was the only time I really wanted Chron. Alternatively, I could write all the posts and save them as pending for now. Then, each day, I could open the next post, and say PUBLISH. It would go out in the next slot, likely 9:00 a.m. the next morning. If I missed a day, it didn’t go.
Except I hate having to run Chron manually. And Buffer is okay, but not exceptional. If, for example, I wrote 20 book reviews and had them all queued up, they would occupy the slots for the next 20 days. If I then wrote a great post about some news item, Buffer would add it to the queue in the 21st slot. If, instead, I wanted it to go out “immediately” or the next morning at least, it was not easy to bump it up in the queue. Oftentimes, I’d be manually moving stuff around, or adding an extra push one day.
Now, don’t get me wrong, Chron on a website isn’t a lot better. It can be challenging to move things around relative to each other. You can easily say, “Hey, send this one at 9:00 a.m. tomorrow”, but the previous one would also be scheduled to go at 9:00 the next morning, so it would go too. People get around this by embedding schedulers into their website. Adding Buffer’s functionality to the website. Except it requires Chron to run.
And the circle is complete. Buffer and WordPress work better together if both Chrons work; if only Buffer’s Chron works, it can handle most issues, but changes on the fly are sometimes more painful than I would like. I know, however, there ARE ways to go into the complex settings of Buffer and say, “Okay, here’s the schedule for the week…there’s a slot at 9:00 a.m., 1:00 p.m. and 5:00 p.m. The 1:00 p.m. slot should use this complex FILTER and send a post IF and ONLY IF it has the category of QUOTES”, for example. It’s a bit more complicated than that, and it has never been worth my time to go in and figure it all out. I don’t have that many posts in a queue usually.
Part of that queue avoidance is tied to the issue of people who subscribe directly to the website. At first, I didn’t realize this was happening, although I should have. When I did a bunch of movement of posts between websites, I essentially imported 100 posts from PolyWogg and posted them to ThePolyBlog. These were posts that had already been shared, were all old, and so I didn’t think of them as “new”. But, of course, ThePolyBlog site saw them as new and TREATED them as newly published content. It sent all 100 posts to Buffer, overloading my queue. And it sent 100 posts out to those who were subscribed. So their inboxes got flooded. With old content. Whoops.
So, when I work on my site, I have to remember to turn off the post to subscribers function. And to remember to turn it BACK on afterwards. If I queue, say, 20 quotes to go out Monday to Friday over the next month, it will work fine for Buffer. But the people who are subscribed directly will get 20 posts immediately. WordPress makes them live immediately. Grrr…
Website, heal thyself
The funny thing that happened last week is that Chron seems to work now. WTF?
I don’t know how, I don’t know why, I don’t know when. But Chron is working on my site.
As I mentioned, I’m redoing 93 Quotes posts. Which basically means I copy them to a new post, add in the image version, and repost as a new post, before deleting the old post. If I process all 93 at once, my subscribers will get 93 emails in a day. If I want to avoid that, I can turn off the newsletter feature / share post option until I get them all updated, but then my subscribers don’t get that content. It’s efficient to do all 93 at once, a lot of repetitive steps, and in about two hours, I could blast through all of it. Or maybe an hour here and there, do it over a couple of days. But again, I have to avoid them going out to the subscribers too often. Buffer can handle my social media, I just wish they had a newsletter option (something I can check on for future, it would be great to move my subscribers OFF my website overhead).
Last weekend, I set up a quote post. I didn’t want to add it to the queue and publish immediately, so I saved it as pending. And then, just for fun, I told WordPress to publish it at 8:30 a.m. I wanted to see how it would handle the subscription feeds to individuals. I figured it would eventually get “flagged” when someone loaded the website, and even if it didn’t go at 8:30, well, it would go sometime that day. I would check at lunch, and if it hadn’t gone, I’d load the page and trigger it myself.
On Monday morning, my phone buzzed at 8:30 and then buzzed repeatedly at 9:00. I was getting dressed, and it buzzed twice which I ignored and then four times in under a minute. I thought someone was calling me, which is exceedingly rare, and I’m not even a huge texter. At 8:30, my Chron had run all on its own. Like it would on a bigger server. Somehow, WordPress and my server decided to get along and Chron ran on time. Maybe it’s been able to run for five years, which is the last time I tried to fix it. Maybe it just fixed itself last week. I have no idea. But it ran.
Which then meant it sent a full copy of my post to my main email address. Then it sent a short copy of the post to my secondary email address (sending it twice in two different forms lets me see what my subscribers are seeing, and I save it in email as a backup). Then Buffer entered the chat 30m later, and told me it had shared my post with a) FaceBook/Meta, b) Twitter/X, c) Blue Sky and d) Threads. Exactly on time. Because Chron ran on its own.
Holy snicker doodles.
Do I need this functionality? No. Do I want this functionality? Sure. Will I use this functionality? Absolutely.
The first case will be my quotes. I can set up all 93, queued to go live over various days, likely Monday, Wednesday and Friday at lunchtime. I’ll also queue up some jokes to go on Tuesdays and Thursdays at the same time. I’ve already modified Buffer to give me three send times a day — 9:00 a.m. that I’ll use for blog posts; 1:00 p.m. that I’ll use for shorter posts; and 5:00 p.m. that I’ll use for reviews. All I have to do is set my Chron / WordPress to push the content live about 30 minutes before the slot. Then, the slot will accept the post and share it on the schedule set with Buffer. It probably needs about 2 minutes’ lead time to accept it, but I’ll give Buffer more like an hour.
After all the times the website seemed to break almost on its own, I’ll take the win from it fixing itself on its own. Now I just have to post the content. And as a further test, I’m writing this post on Sunday to go out Tuesday for my Tadpole Tuesday series. Fingers crossed.
