SEO is Easier Than You Think

Posted on · Tagged in seo

After several years of working in web dev and SEO, I've come to the realization that SEO isn't really that hard. That's not to say that there aren't any challenges in SEO, but that overall, you can simplify SEO down to a few key ideas. I'll be writing a companion article about the challenging things later as well. Search Engine's Goals Google's goal for search is to bring you the best results for your query possible. It's been said that "the best place to hide a dead body is on page two of Goog…

Read more »

WWW or no-WWW

Posted on · Tagged in dns, seo

Update: With ALIAS records widely available, this is a moot point as there's no benefit to using WWW at this point. Case-in-point: I've switched to no-WWW! Should you use the www. prefix in your domain name or not? Here are a few reasons why I think you should. 1. Using a Content Delivery Network (CDN) As your website grows larger in scale (or for reliability / DDOS mitigation), you may need to use a CDN. CDNs work by caching your website content on a variety of servers around the world, to r…

Read more »

DNS Basics for Developers

Posted on · Tagged in dns

Overview When I first worked with DNS I was a bit confused, but it's actually a very simple system. DNS is essentially a key-value store that maps records pertaining to your hosting environment with bits of data needed to interact with it, such as where to find your server and how to connect to it. The majority of the time, DNS is being used by browsers to connect to your website, so let's look at it from that perspective. I find that it helps to think of DNS as a set of steps, that the browser …

Read more »

The Obscure Windows Battery Issue

Posted on

I've had a hard time finding any information about this on the web, so sharing what I've found in case anyone else finds this useful. Although I'm a developer and casual gamer, I tend to try to be frugal and have a tendency to replace my computers rather infrequently. This article is written on a laptop around 8 years old, and my gaming computer is only about a year newer. So with a computer so old, it's not too surprising that the battery completely failed. As in - the laptop would die instan…

Read more »

PHP's str_getcsv is Completely Broken

Posted on · Tagged in php

Say you have a csv file that you want to parse with PHP. No problem, PHP has a function for everything! Assuming that maybe we're on the beginner-to-medium level of experience, we might be tempted to reach for str_getcsv as a quick way to read CSV files. Before we get started, I'm using PHP 7.3.14 on Ubuntu 18.04.3 LTS (Bionic Beaver). Attempt #1 Let's start with a simple CSV file: name,age,phone,city Bob,44,5555555,Boston Jane,36,5555556,Philadelphia Paco,54,5555557,Denver Now let's parse th…

Read more »

Robot Experiment

Posted on

In a recent discussion at work, some of my colleagues mentioned that they believed to have found that Google is ignoring robots.txt and noindex rules and showing blocked content anyway, in violation of their documentation and the robots.txt standard. Let's do some science to find out whether this is the case! Theories Google uses two terms which at a glance have seemingly overlapping definitions: Crawling : The process by which pages are accessed and processed for links and content. Indexing : …

Read more »

JSON is not appropriate for configuration

Posted on

Almost every program, particularly in compiled languages, needs some type of config file to store database connection strings, It's become very common for JSON to be used by package managers and tools for configuration, perhaps due to its simplicity or ubiquity, but is it really a good choice? To determine this, let's first determine the features we want in a good configuration language: Easy to be understood and edited by humans Simple to parse Expressive power to cleanly and accurately repres…

Read more »

Welcome to my Blog

Posted on

Hi, I'm Jason, welcome to my Blog. I've been working as a software developer professionally since 2006 working on website projects in PHP, C#/.Net and my personal projects in Go, NodeJS, and others. I've previously headed the SEO efforts at my company for several years, and now work as tech lead spending a lot of my time mentoring other developers. Over the years, I've developed a lot of thoughts about coding practices, and I'd like to start sharing them here for feedback from the community a…

Read more »

CMS Must Haves: SEO Support

Posted on · Tagged in seo

I work with CMSs every day, and I've given some thought to a list of "must haves" that every CMS should have. The first one is SEO support. Many CMSs have 3rd-party SEO tools available, but this is so important that it really should be built into the CMS itself. By SEO support, I mean the ability to set SEO metadata values intelligently on every page, including <title> elements, meta descriptions, robots, image alt and meta tags, and schema.org metadata. Some CMSs will allow you to set some of …

Read more »

Staying Honest and Seo Myths

Posted on · Tagged in seo

I got a call this week from a man asking for information about a new website. Certain details will be anonymized, so let's call him Bob. Bob was looking for a website for his growing painting business in a small city in Minnesota and has been in business for a long time, generating leads on Facebook and seemingly having good success but wanted to move on to an actual website. He wanted to host some information about his business, pictures, a contact form, all standard stuff. So it seems Bob's…

Read more »