New to Busy?

Canonical links of Hive posts and duplicate content


2 months ago3 min read

Canonical links can be used when the same content is available through different links. On the Hive chain, the same content can be viewed through several frontends. Normally, the frontend which is used to write the post will set the app/canonical_url field in the json-metadata field to itself. There is an agreement between all hive frontends to set the canonical URL in the same way based on these both parameters.

E.g. when writing a post with peakd, the app parameter is set to peakd and all hive front-ends will use a canonical URL starting with

Using a canonical url such that all frontends use the same canonical url helps search engines to

  • indicate which front-end should be shown in search results
  • validate that there is no duplicate content

When a frontend is not doing this, the search-engine decides on various metrics which frond-end should be shown.

Let's check this on my post howto-to-use-beempy-for-cold-transaction-signing, which I wrote with the peakd-frontend.

Searching with google

When entering some text from my post into google search, I receive the following result:
image.png returns only a link to the frontend. This is strange as the canonical link points to the site.

Check for duplicate content

I'm using the duplicate content checker from seoreviewtools

I will check my post for duplicate content:


Two sites are identified as duplicate content:

Frontends with wrong canonical links

It seems that and @steem.leo did not use the correct canonical link. It seems they still works. As is using as RPC-node, it is showing hive content now.

Check for canonical links

I'm using seoreviewtools for checking the canonical links of several hive frontends:



Results, and are using the correct canonical link, whereas

are not pointing to peakd. is even using as canonical link.

@steemstem, @steem.leo and could you please fix your canonical links? That would be great! You can find the standard for hive apps here:

Canonical URLs on blog posts written before the hive fork

I wrote a python script to set canonical link for all blog posts written before the hive fork. You can find it here: How to fix canonical URLs and links in your pre-fork posts

Currently the same content is available in the HIVE and the STEEM blockchain. Blog posts written before the fork are well not handled by the front-ends and each front-end shows a different canonical link.

The python script lets the user decide which blockchain and which frontend should be used and broadcast the choice by setting canonical_url to the blockchain.


Sort byBest