Topic: wordpressAll Posts

How to process a blog post

#Wordpress shortcodes are great. They allow a lot of flexibility in posts, and they are easy to create and manage. But they, in conjunction with everything else going on in wordpress, slow down a site. Every time a user views a post or page, the body must be searched for shortcodes, whether or not any exist, the code must be run and the codes replaced with whatever is required.

That's where caching plugins come in. They can store the pre-processed body of an article, so that it can be displayed much more quickly. There are limitations, as shortcodes account for much more that simple replacements. And then caches can be invalidated.

On this blog, the processing is more simple. But I still have to format and adjust some things, especially because I don't allow HTML when writing. Currently, I do all the processing at the time of publishing, so the body is fully prepared for a viewer. This has the downside that all operations must be reversible, in order to preserve editing functionality.

But recently, I thought of a better solution. Add a column to the database for the original, unprocessed version of the post. It's effectively like a built in cache. The unprocessed version is the "actual post" in wordpress terms. And the processed version is the cached version that gets displayed.

Currently, it is not possible for any of the processing to become invalidated by changes outside of the post, without modifying the function of the site. But in future, there would need to be a way to invalidate all posts and have them reprocessed from the raw version.

Posted 19 Aug 2020 by Brian

Been busy, Surprised?

Of course not, life's been crazy for everyone. My last post was basically just before I got a new job, and blogging didn't seem as important. But I'm trying to get back into this and step up my game.

At my job, we use a lot of #wordpress. As a tool for getting a website up and running quickly and easily, especially for non-programmers, it's great. But I'm not a non-programmer. Plus it's really easy to let plugins get out of control, the backend to become disorganized, and page load speed is... not ideal.

I've learned a lot, and it's super helpful to know how to work with wordpress, because so many sites use it. But I still like my custom blog, and I want to continue developing it. So that's what I'm gonna do. Maybe tangentially for a while, there's a related project that'll I'll post more about soon.

Until then, stay safe!

Posted 14 Aug 2020 by Brian

Solving Through Subtraction

Most of my #WebDevelopment work has been fixing broken #websites. And the first thing I do on any of these projects now is to start removing whatever I can.

Buggy #Wordpress site? I start deactivating plugins. If the website breaks further, I reactivate the plugin temporarily, but so far I've always been able to remove at least several plugins without it impacting the website at all. Usually the plugins that do impact site functionality can easily be replaced with some vanilla webcode.

Buggy non-Wordpress site? I start replacing #frameworks with vanilla webcode. It becomes easier to read, less convoluted, and it's easier to integrate the external code that really does matter (like Google Analytics code).

I call this process Subtraction. To me, it's an all-around win: the code is easier to read and faster to edit for me and future developers, and the website runs faster. Often Subtraction will solve the problems in and of themselves, or simplify the problems far enough that a solution is easy to implement (rather than trying to work around existing, conflicting webcode, which is often a problem).

Now, my first instinct on any project is to see what I can delete, and move forward from there. And I've always been glad that I took that step.

Posted 12 Feb 2019 by Josh

About

You found me! I'm Brian Bogedin. This is my website and blog. Obviously. Anyway, I'm a full stack web developer and game programmer operating in Southeast Michigan. I do freelance, too, so feel free to contact me with business inquiries. Thanks for stopping by!

Ping me: brian@bogedinbr.com

Projects

This blog!

I'm making this blog from scratch. No CMS, frameworks or libraries! Just MySQL, PHP, JS, HTML and CSS. Is it necessary to create a blog from scratch? No, but it is great for learning, and customization. Does your blog have hashtags?

DrawingWiffWaffles.com

Website for a youtube channel that creates instructional and entertainment videos about illustration. I built the site and manage giveaways there from time to time. Currently working on a miniature custom CMS so that the site owner can administer the giveaways without my assistance.

SECO Tools

I do some work here and there for a company that sells mill tooling. Most recently built a batch processor for their tool converter. Basically, it takes a bunch of competitor product numbers and returns the information on tools offered by SECO with similar specs. Still needs some user friendliness enhancement, but it's currently only for internal use.

Geospin

This is a small couch multiplayer game made in gamemaker for a game jam I organized with some friends. Up to 6 players use controllers or the keyboard to fire rockets on the side of their city to rotate a planet and avoid incoming missile. The trouble is, everyone else is trying to rotate the same planet! Download it on itch.io!

Showpony

Mulitimedia engine being developed by my friend, Josh Powlison. Plays audio, video, comics, text, and kinetic novels. Cool stuff. I'm helping out a tiny bit. See the demo here.