When I made the move to WordPress a few weeks ago I had a lot to learn, both in terms of functionality that WordPress had to offer, as well as modules that I could install and which of those modules actually worked well!
So I’m going to spend this post sharing what modules I found the most useful so that anyone else who is getting into WordPress can have an easier time getting started.
Even if you don’t use Facebook or Twitter, chances are that your visitors do and they share your content on those sites. So this module is probably the most important module of the entire list, because it adds the appropriate meta tags to ensure that when your content is shared on either service, it is rendered correctly.
Furthermore, the Open Graph module allows you to set a default image and override it with other an image from the post itself or one uploaded separately:
Again, I cannot stress it enough–if you want your content to look presentable on social media sites, you need to use this module. Otherwise, you are passing up a huge opportunity.
One of the neat things about WordPress is that when you upload an image and then include that image in a blog post, you can decide where that image links to. The image can link to nothing at all, the raw image, or an “attachment page” which contains that image and a caption.
That said, something that has caused me grief for out of the box WordPress builds has been the image on the media page being really small. Take for example, this picture of a freeloading cheetah. When I upload the picture, the attachment page looks like this:
Just look at that. A tiny image and a bunch of the page being completely unused. Disgraceful. Surely we can do better!
As it turns out, tweaking a single line of code can be used to change the size of all images on media pages.
In my case, over my Christmas vacation, I checked into a Mom and Pop hotel, or rather a motel! It was about 24 rooms all in a row, occupying a single floor. Since they were on a budget, their Internet offering consisted of what appeared to be 5 or 6 Linksys routers set up every few rooms. You’d simply connect to the closest access point and have Internet.
But there was a problem: determining which access point was closest to me! The signal strength indicator on my computer showed several of them were 3/3 bars so that wasn’t much help. I tried connecting to the first one, but had virtually no Internet connectivity.
In the above example, I added in the TARGETS environment variable, and was sure to include 192.168.1.1, which was the IP for each router (they were all the same). Then I set Splunk “real-time mode” and periodically checked that tab as I was working. This is what I saw:
In a previous post, I wrote about using Splunk to monitor network health and connectivity. While building that project, I thought it would be nice if I could build a more generic application which could be used to perform ad hoc data analysis on pre-existing data without having to go through a complicated process each time I wanted to do some analytics.
So I built Splunk Lab! It is a Dockerized version of Splunk which, when started, will automatically ingest entire directories of logs. Furthermore, if started with the proper configuration, any dashboards or field extractions which are created will persist after the container is terminated, which means they can be used again in the future.
A typical use case for me has been to run this on my webserver to go through my logs on a particularly busy day and see what hosts or pages are generating the most traffic. I’ve also used this when a spambot starts hitting my website for invalid URLs.
This will download the container, start it up, and mount the appropriate directories. The containerized version of Splunk looks recursively for logs in /logs/, stores its data in /data/, and stores dashboards that are created in /app/. (Note that if you try to use “password” as your password, the container will refuse to start for safety reasons!)
First things first, let’s verify our data was loaded and do some field extractions!