Dev Blog SEO. How to rank my blog? Should I cross-post?
Must-have SEO techniques to rank on google, bing, and drive traffic to your blog. Advantages and pitfalls of cross-posting. Hashnode examples.

Search for a command to run...
Must-have SEO techniques to rank on google, bing, and drive traffic to your blog. Advantages and pitfalls of cross-posting. Hashnode examples.

Do not post to dev.to until your post is indexed. Then post a few months later with canonical url. After you write a post, ask google to index it. I never see hasnode posts on google, and medium is iffy.
Thanks for the SEO knowledge of hashnode. I make a mistake in setting the original URL with an un-crawlable website. You help me to correct it.
This is a very useful post. Got tons of insights and value. Thanks for sharing!
Great blog post! Very insightful and detailed. I'm very new to this whole blogging-thing and SEO is not my forte, but I can say that I posted the same article here on Hashnode and on DEV.to yesterday, and its doing way better on DEV.to. I still have lots of work to do with regards to SEO and cross-posting, so I will continue this experiment and see how things go moving forward. π€·π»ββοΈ
Yep, It will definitely do better on devto, in case I was interested in just audience, I would probably just stick to devto. But Hashnode is unique in features so I'm trying my way here. In a worst-case traffic from devto might be so big that posting a link to my project there would perform better than all these efforts :) Would be nice to hear how your test goes.
By the way, even just by mentioning devto you raised their domain rank, cause it got converted into the URL. And when mentioning hashnode we don't add com usually. They picked nice domain name:)
Btw in your case, there are 2 major factors:
Interesting AWS alternative or provider you should not trust? Small startup POV.

How to make windows go dark at night and light in the morning. Monitor brightness and theme automation apps. Theme change with Powershell.

Apart from Cloudflare Pages, Netlify, Vercel there are more free services: Firebase Hosting, Gitlab Pages, Github Pages. Which one to choose? This is the question i faced when thinking about this question to decide how (currently in-development) LiFl...

Repl.it is a cloud IDE supporting numerous languages. It lacks one thing though - code auto formatting for some of them. Here's how to fix that.

I started blogging quite recently. For me, it's connected to a bigger project ongoing so I keep doing thorough research on the topic. In the previous article I shared my analysis on Which hosting provider to choose. Here I will share my SEO discoveries illustrated with Hashnode examples. Most of the information is relative to the websites in general and search engines in general, specifics will be added as well. Let's go!
How does the search work? Crawlers get info from internet pages and search for the links in them, follow links, discover new websites, get their page data, and index it for keywords. When you search - the search engine looks up the index -> done.
To get any website searchable asap:
In simple terms that's it - all the work goes around these stages. So how do we get most of our blog?
It's quite obvious that the internet is full of information and to be searchable and popular you have such options:
You can use https://trends.google.com/ to help you with that:

If your blog is not related to any product you can relax and pick whatever topic you are more comfortable with, as the quality of content matters as well. If it`s related to some specific product, you can target a related audience that might be interested in it.
People search for the same topic differently. You can try the search yourself and see how relevant results are for you in that case
In the same Google Trends tool you have a dedicated panel to investigate:

As well as Google Search suggestions:

To get even more information, you can use Keyword Planner from Google. It gives better information on how much users search typically for some keyword, as well as other insights.
https://ads.google.com/home/tools/keyword-planner/

Tags can be used on your personal domain/website but here we'll look at them as tools that help you rank inside the blogging platform.
If you are posting on some blogging platform - investigate the tags and their impact. The tags should be:
On dev.to you cannot see the number of subscribers to a tag, but you can estimate how much relative attention posts get and see the number of how many posts are in general.

On Hashnode you have more information allowing you to estimate attention to your post as number of users / number of posts:

Not all tags are visible on UI - check them using URLs specific to platform, for example:
Whenever using your own solution or blogging platform, take a look what are the meta tags on the resulting blog page. They look like this in browser's developer tools

I will mention only the 3 most popular ones as they are usually controllable on most blog platforms:
On Hashnode canonical is controlled in the post's settings. The other 2 are the post title and the first paragraph after it. It can be a subtitle, if there is no subtitle - the first paragraph of your post.
Those 2 are important as they will be indexed by google and shown in search results.
If you are just making posts on some blog platform under their own domain - you can skip to the Should I cross-post? . If you are hosting your own blog or using a platform allowing custom domain, read next.
In case you have your own domain - you get abilities to see how the website appears on the search and impact that. In another case, you have to rely on a blogging platform to provide you with similar info.
So, to control how your website appears in search go visit:
After visiting the tool you will be provided with several ways of confirming ownership, either for the whole domain or subdomains. I recommend registering here first as Bing has an import tool to get ownership info from Google, so you proceed faster
This is how the menu will look like. When you just start most of the parts will have no data, some sections lag 1-2 days usually to be accumulated. I won't dive deep into that tool, will just make a short overview of the most important parts:
The tool is quite similar to google's - I won't take your time describing it. After importing info from google console you can do similar actions there, but there are some differences:
For example:
Bing is not accepting my Hashnode blog. For now, the last reason is 3rd one, which I cannot control. Hope Hashnode devs will fix that soon.
Where does the traffic come from? How long users stay on the site? What they do? You can answer these questions with analytics. The default choice would be Google Analytics, as it's free and works great. It has troubles with EU GDPR and is trying to fix the situation. When going big - you will need to properly handle cookie consent, ensure you comply with the government's law, etc. But that's the next level of the problem. Think of it when the time comes. In the very beginning, analytics will be super useful to understand how you can improve.
Depending on the solution you are using you can inject it into the site manually, or via Cloudflare App if you are proxying a website with it https://www.cloudflare.com/apps/google-analytics.
Hashnode is not proxiable through Cloudflare, it has its own CDN - but provides integration with Google Analytics. NOTE: currently Hashnode supports only Universal Analytics, while current version is GA4. Be sure to create this kind of property - it will be buried into advanced settings on property creation. Hope the devs will migrate to GA4 properties soon.
New domains need time to get noticed and rise. Multiple factors are impacting this like:
You can try Ubersuggest extension to get a feel of that

Still, my domain comes up 4th with domain authority 1 - that's something to be happy about :)
So surely what you can do - is to share a link to your blog on social media, on other resources. That will help. Also, this gives a chance to focus on different keywords (for example using the title on the reddit post) and drive traffic from more search queries.
And this leads us to the next question - what about cross-posting?
This question is debatable. I would appreciate everyone reading this section to share their experience and engage in the discussion.
First of all, when cross-posting, you should be aware that the same posts on different platforms will get different traction. As a content creator, you naturally want to distribute content to a broader audience. But like was already mentioned previously, new domains need time to earn trust. Thus when posting some new content on the fresh domain you risk being invisible to google. The same applies if you are using a blogging platform that is not so popular and you want to engage a bigger audience.
Let's put arguments into the table (assuming your main platform is your own domain):
| Own domain for post | Popular dev platform for post |
| Result appear lower | Result might get higher position |
| Traffic from search is directed to your domain | Traffic from search partially directed to your domain via links |
| Traffic from platform partially directed to your domain (On Hashnode - fully) | Traffic from platform partially directed to your domain via links |
| Traffic sources visible from analytics and search console giving an opportunity to tune up the blog | No direct means to see analytics and optimize visibility of blog post |
As you might guess either approach might be better, you have to experiment. For unique topics where you have chances to get high in search, you should definitely focus on your own domain. If your post is buried deep and you cannot get it higher, another platform might do it better due to its domain trust and traffic.
> As I am investigating and due to Hashnode unique benefits I am sticking to my own domain. I want users to see my blog in search, and additionally corresponding posts on each platform via the platform's own means.
Here comes the canonical link meta tag. This functionality is present on most blogging platforms: hashnode, medium, devto, devdojo, etc.
For example, in medium it is buried in "Advanced" settings:

It basically tells the crawler which page should be treated as original and be displayed. If canonical is not set - then the oldest / most trusted page wins. You will see the result during the inspection in Google Search Console:
If two pages are different and you set canonical to one of them - they most likely will arrive both to the search.
If you don't set canonical meta tag google most probably will exclude your own blog post from search. Consequences were described in Should I let my post on another platform dominate?
Unfortunately canonical is not guaranteed to protect your page. Recheck search results after your actions.
Here's what I tried and results (using canonical in each case):
| Blogging platform used for repost | canonical helped? |
| Devto | No π(Issues on Github) |
| Devdojo | Yes π |
| Medium | Yes π |
As of now (04.2021) I don't recommend reposting on devto
Does canonical link give additional trust to your page? I haven't found guaranteed information on the internet, theoretically, should not. But linkining to your page - does.
For some reason (I guess because of some google algorithm or implementation) on blog platforms only their "tag" pages are giving links. Meaning - they won't last long, as the post will go down on those pages with time.

Ensure the URL slug stays the same. One time I made some changes to the Hashnode blog title and the slug changed - meaning I got 2 pages indexed. Old one - not existing anymore, a new one - not having canonical links set to it. So I renamed the slug back once noticed that in Google Analytics
Use Google Remove Outdated Content tool
AMP provides a "reduced" version of your website. So it might miss some crucial elements of branding and links that are not related to the post itself. So It depends on your use case. From my personal feeling - I will more likely visit a page with a "thunder" icon - so I enabled it for now and will watch how it goes.
Thanks for reading - it is a complicated topic, so I'm would gladly consider any additions or corrections! πΊ