Cover image for A Primer on SEO

A Primer on SEO

laurieontech profile image Laurie Updated on ・4 min read

Last week I polled the twitterverse about their knowledge of SEO (Search Engine Optimization).

With survey options of "yes", "no", and "some" the least common answer was yes! It seems that developers, for the most part, don't feel comfortable with the concepts at play in SEO.

Throughout the web, you'll find plenty of articles about how to handle SEO on your site. So instead, I wanted to talk about the way search engines work and what those SEO "rules" and recommendations are derived from.

Crawl, Index, Rank

The first thing to understand is that search engines crawl the internet looking for site pages. Once it finds something new, the search engine will index the page content so it can be a part of searches. Once content is indexed, it can be ranked compared to other searches for similar content.

The term SEO, or search engine optimization, is about getting content to rank higher for given search terms. You're focused on specific keywords that someone would use to find your site. The higher a rank, the more traffic a site is likely to see, which can be a source of marketing, growth, or even income.


When creating content, you want it to be seen by the largest audience possible. That may mean posting the same content on different sites. By doing that you can hit multiple audiences.

But here is the snag. You want all that traffic to be added up together to rank that piece of content higher! This is where a canonical_url comes in. (This post is actually using one right now from my company blog Ten Mile Square)

If you look at analytics, you can still see the different sources of traffic. But for SEO purposes, there is a "home" that should continue to rank higher in search results. This is particularly relevant if your canonical_url is used on a high ranking domain that would otherwise outrank your home domain. I'll dive into this more below.

If you're looking for how to implement this on your site, check out the specific methods.


You may have heard of backlinks and how critical they are to improving your content ranking. It's awesome to have multiple things referencing your post! The more there are, the more search engines are inclined to rank this post higher.

This is considered a "vote of confidence" from another site. Backlinks can be especially valuable if the site they appear on is highly ranked. So having a "home" for your page means that all of that internet goodwill is being passed to a specific location, instead of splitting your content locations and competing with yourself.

To dive more into backlinks and see how to benefit from them on your own site, check out this resource.

Duplicate Content

Now we get into the trickiest part of this post. It's important to know that there are different rules for duplicate content within a domain versus across different domains. I'm going to focus on the latter issue.

As we mentioned above, just like pages can rank, domains can rank as well.

There are a lot of details about how domains rank higher including load times, working links, etc. That could be a whole other post.

The more often a particular domain satisfies user queries, the higher it will rank. This is really important if content exists on two different sites. If you don't have that canonical_url, the search engine may decide that the higher ranking domain is the original source of the information, and not even rank your version of the content!

This may seem unfair, but it does make sense. Search engines are trying to match your query with unique, valuable content. That means handling content that shows up multiple times. It's not relevant to show you three hits all with the same content.

Over the years the way this is handled has gotten pretty sophisticated. And there are domains that are full of only duplicate content. In those cases, the search engine may decide that all content on a site can be found elsewhere and that it's a waste to index it at all.

When people talk about "penalizing" duplicate content this is normally what they mean. Some will say search engines don't penalize duplicate content but rather reward unique content. It's all kind of semantics. But it is important to understand that search engines are looking for valuable, unique information.

For a real deep dive into the complexities of this issue, this is a great post.

SEO Can Change

Over time search engines get better at judging content. This is usually a net positive, but sometimes it can have unwanted side effects. If you're looking to improve your SEO, or even understand it better, keep track of the latest rules. In fact, they just changed yesterday!

Posted on Jun 3 '19 by:

laurieontech profile



Software dev at Gatsby | DC techie | Conference speaker | egghead Instructor | TC39 Educators Committee | Girls Who Code Facilitator | Board game geek | @laurieontech on twitter


markdown guide

Thanks for your article, Laurie!

I think I didn't get the point about canonical_url. As you say, this post appears on two sites (tenmilesquare.com, the "origin" I guess and dev.to). Shouldn't the canonical_url of the post appearing on dev.to point to tenmilesquare.com?


Ya, about that. It was meant to. I published there first. And then forgot to add it into the front matter here before I published 🙃. Only just realized yesterday. But my technology consultant post is done that way if you want an example!


Ah right. Yeah this page has:

<link rel="canonical" href="https://dev.to/laurieontech/a-primer-on-seo-49n1" />

And I was thinking "Oh noes! Did the DEV editor put that in and overwrite her canonical link? How will I do this?". But, the DEV.to/laurieontech/technology-consultant post has this in its header:

<link rel="canonical" href="https://tenmilesquare.com/what-does-it-mean-to-be-a-technology-consultant/" />

Which is what we should probably all do, for our cross-posts on DEV.to, to link them back to the original on our own site.

So, I guess the question now is: when I cross-post to DEV.to (and I have a few that I'd like to), how do I set the canonical URL back to my original blog post?

Turns out: it's super easy: you press that "WRITE A POST" button in the top right corner there, and paste your Markdown. Then you press the ellipsis button (...) on the editor's top-right corner, and there's a field "Canonical URL" for you to put in your original URL!


Ah great, thanks for your answer! Just had a look at your technology consultant post. And I'm de-confused! =)


I’m an SEO professional working on transitioning to developer career and I can say this primer is right on the money. Thanks for writing it up for the devs who need it!


So glad to hear it! And best of luck with the transition. I'm sure you're gonna kill it.


Google Webmasters just released this, too. Could be helpful: A video series on SEO myths for web developers -webmasters.googleblog.com/2019/06/...


Thanks for sharing this advice. I am currently optimizing my blog, and I do not know where to start. It seems like a great idea to use canonical_urls on all my dev.to posts, which I already have set up. I'd love to read more from you about the topic. Again, thanks for sharing.


The canonical url is a more advanced technique, but if you syndicate your blog (post it in multiple places) it’s important so your site doesn’t get dinged.
On page SEO is pretty simple and there are millions of articles on this.
The two key things to look at is Keywords (what people actually search for) and back links. Who links to you site/pages.


Great post Laurie.
The hardest thing is knowing where to start and this is a great place to start.


thank you for the post and what SEO do you use like Yoast and the lot?


That update timing though 👀

Great post - It was really great to have everything in a single location for once and not scattered across 16 different tabs.


Thanks for this valuable article, Laurie

I am a new member in community & first valuable information I am getting is from your blog

thanks again