Coding for SEO Blog

A blog about technical SEO, coding, JavaScript, Python, SQL, databases, and more.

How to Download an Entire Website (Wget Tutorial)

It's easy to download entire websites with a free tool called Wget.

How to Use the Keywords Everywhere API

Here's a quick tutorial on how to use the Keywords Everywhere API with Python.

How to Redirect a Domain with Cloudflare Pages

Cloudflare Pages makes it easy to redirect entire domains in an SEO-friendly way. This tutorial shows how.

Google Recommends AI Content from Bard to Write Blog Posts

Google sent out an email that recommends using Bard to generate AI content for blog posts.

Free Backlink Checker

There's an easy way to check backlink data for free, using Bing's Webmaster Tools. It's free and only takes a few minutes to sign up.

Git Diff: Only Show Filenames

Here's an easy way to only show filenames when using the git diff command. You can use a special flag that allows you to display the output differently.

WordPress Canonical URL Problem: comment-page-1

How to fix an SEO problem with WordPress's comment settings.

The 'My Own Kid Test' for Writing High Quality Content

Here's an easy way to evaluate the quality of your website's content.

A Poem about Google's Universal Analytics

I asked ChatGPT to write a poem about the upcoming demise of Google Analytics' Universal Analytics.

I Asked ChatGPT to Write a Poem About SEO

Oh SEO, how doth thy algorithms sway The fates of websites in their endless play For ranking high doth bring both fame and wealth But failing to adapt brings certain stealth...

How to Install Node.js on Windows, Mac, and Linux

Installing Node.js is easy to install when you use nvm. Don't use sudo with npm!

Why You Don't Need a Google Sheets Cheatsheet

You don't need a Google Sheets Cheatsheet

Property 'strike' does not exist on type 'JSX.IntrinsicElements'

The strike element has been deprecated, but there are two other options.

Do You Need to Learn How to Code to Do SEO?

You don't need to learn how to code to do SEO, but it will make you a much better SEO.

How to Use the ping Command

How to use the ping command on Linux, Mac, and Windows.

How to Install and Use the dig Command

The dig command can be used to look up information about the Domain Name System.

How to Install Python on Windows, Mac, and Linux

Learn how to install Python on Mac, Windows, and Linux.

How to Install Ruby on Windows, Mac, and Linux

This tutorial explains how to install the Ruby programming language on Linux, Mac, and Windows.

How to View Full URLs in the Browser

For an ideal work experience in Web development and SEO, be sure to change your browser settings to show full URLs.

How to Print an ISO-Formatted Date in the Terminal

There is an easy way to print out an ISO-formatted date in a Linux, Mac, or WSL (Windows) terminal.

Project Setup Tutorial

This is how I set up most of my coding projects.

How to Make a Quick Broken Link Checker with Lynx Browser

This tutorial shows how you can use the Lynx browser in a quick shell script to check for broken links.

The Difference Between MJS, CJS, and JS Files in Node.js

Here are some quick basics about the difference between .mjs, .cjs, and .js file extensions in Node.js.

Web Scraping in Node.js with Cheerio

It's easy to scrape Web pages with Node.js and Cheerio. In this tutorial, we'll scrape the latest news headlines from the NY Times.

How to Extract Links and Text from a Web Page with Lynx

Lynx browser can be used to extract all the text and links from a webpage.

How to Redirect WWW to no-WWW in Next.js

Here's an easy way to redirect WWW to no-WWW (or vice versa) in Next.js.

How to Add Canonical Tags to Next.js for SEO

This post explains how to add canonical tags to your Next.js site for better SEO.

How to Fix 'DATABASE_URL Not Found' on Fly.io

How to handle build secrets on Fly.io when you get an error about 'Environment variable not found: DATABASE_URL.'

How to Add a Delay in a JavaScript Loop

It's easy to add a delay to a JavaScript loop using modern JS techniques.

Use SQL to Extract Posts, Categories, Tags, and Comments from WordPress

How to extract the content out of a WordPress database using SQL queries.

How to Use curl for Web Development and SEO

This post describes how to use a free program called curl for testing headers for web development and SEO purposes.

How to Remove Hebrew Vowels from Text with JavaScript or Python

It's easy to remove Hebrew vowel symbols (nekudot) from Hebrew text using JavaScript, Python, or any programming language.

How to Watch Udacity's CS 253 Web Application Engineering Course

Watch Udacity's CS 253 Web Application Engineering course, taught by Steve Huffman, on YouTube.

What Is ojrq.net and Is It Safe?

What are links that contain ojrq.net in them, and are they safe?

How to Fix 'Alpine Expression Error'

Here's how to fix the 'Alpine Expression Error' problem that sometimes appears when using Alpine.js.

Web Scraping with JS in the Browser

Here's a simple trick for quickly scraping web pages from the browser console.

Easy Python Web Scraping with Pandas

Here's a technique to quickly scrape HTML tables with Pandas and Python.

How to Open Multiple Files in Vim Splits and Tabs

Vim has commands that let you open multiple files in splits and tabs.

How to List All of the Plugin Outlets in Discourse

Here's a quick way to list all of the plugin outlets in Discourse (forum software).

WordPress: How to Add a Trailing Slash to the Homepage's Canonical URL

WordPress: How to Add a Trailing Slash to the Homepage's Canonical URL

How to Generate Gravatar Images with JavaScript/Node

How to Generate Gravatar Images with JavaScript/Node

How to Search Multiple Files for Text and Edit Them in Vim

How to search multiple files for text and edit them in Vim.

How to Send Desktop Notifications in Linux

How to send desktop notifications in GNU/Linux.

How to Reindent Lines in Vim

Here's an easy way to reindent all lines in the current directory using Vim.

Using ex to bulk-edit files

An experiment with using ex to edit files.

How to Delete Blank Lines in Vim

Here's an easy way to delete all blank lines from a file in Vim.

Command line scripting with ed and ex

Experimenting with ed and ex to edit text.

How to Send Bulk 410 Headers and 301/308 Redirects in NGINX

How to send bulk 301/308 redirects and other headers in NGINX.