An Author
refers to the person responsible for creating a piece of content like an article, a blog post or any other form of written material. Normally matches the Author that created the content on the CMS.
A Byline
is the public text that acknowledges and identifies the author(s) responsible for creating an article. Normally matches the public byline as informed on the structure data.
An Author may have multiple bylines for different reasons:
- Pseudonyms or pen names: Some authors may write under a pseudonym or pen name, either for personal reasons or to maintain separation between different areas of their work. In such cases, they could have multiple bylines associated with their different pen names.
- Variations in name representation: An author’s name may be represented differently across various publications or platforms
As an example, the Author John Smith
might publish articles using these different bylines:
- John Smith
- JS
- J.S.
- John S.
- J. Smith
- Generic Editorial byline
How does Marfeel detect Bylines?
Marfeel auto-tracks article bylines using the following heuristics waterfall:
- JSON+LD (For more details visit author - Schema.org Property)
<script type="application/ld+json"> { "@context": "https://schema.org", "@type": "NewsArticle", "author": [ { "@type":"Person", "name":"Author One" }, { "@type":"Person", "name":"Author Two" } ] } </script>
<script type="application/ld+json"> { "author": "Author One" } </script>
- Meta tag “article:author”
<meta property="article:author" content="Author One">
- Meta tag name=“author”
<meta name="author" content="Author One">
- Property rel=“author”. This only applies on editorials with a publication date.
<a href="https://domain.com/author-one/" rel="author">Author One</a>
How does Marfeel detect Authors?
To track the Author
that created an article you can use the mrf:authors
meta tag. By default, if mrf:authors
is not explicitly informed, the field is automatically populated with the Byline value.
<meta property="mrf:authors" content="Author 1" />
You can list as many authors as necessary with semicolons:
<meta property="mrf:authors" content="Author 1;Author 2;Author 3" />
From the Marfeel’s User Profile page, users can associate an Author to a Marfeel user account, which allows the platform to track content contributions and manage permissions accordingly.
Encrypting Authors & Sections
While declaring real Authors behind a byline might be a good recommendation from an SEO and EAT perspective there might be strategic situations where you don’t want to openly expose the Author behind a byline but you still want to be able to track the Author on Marfeel.
For these situations Marfeel supports encrypted Authors
and Sections
. When Authors
and Sections
are declared as encrypted the real values will only be visible by Marfeel.
Declaration
Both mrf:authors
and mrf:sections
meta can specify encrypted:true
:
<meta property="mrf:authors" encrypted="true" content="AiqpEJ+VdfIm9dlXeRND6RD+IdMBF=" >
<meta property="mrf:sections" encrypted="true" content="AiqpEJ+VdfIm9dlXeRND6RD+IdMBF
How to cipher Authors and Sections
Publishers can cipher sections and authors using an asymmetric RSA cipher. You can encrypt your text using Public-Key Cryptography Standards(PKCS) with the Padding Scheme Optimal Asymmetric Encryption Padding(OAEP) and transform the result into a base64 string. More info.
Marfeel Public RSA Key
Publishers can cipher the values with the Public RSA Marfeel Key:
-----BEGIN PUBLIC KEY-----
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA3TXGyYwHoNN1erI/UKPDudVAQhSV+mguc0aYjMWXj6ck98gSP/8Kaum/etDqkkLFhE075T+PH4zkNUsAgT+ZhnzbCQQJKGSWQa5oJEuokX+tD+x2kyvnGZtJQboIDhBU1h3MEgQlkXZmbiBNm0gobX0Hw9CoZHk0NPbjSP19PQFMF0gvVJKLp24MFjSzsS6R27H0a88HmChy0fiO5ClrBDKCAek5d/ZA5tVzV7X1ERqGYTHY912vM9/M4GggdrJycZrvKq9ZZF6FiccQfEOoWBvMcPhYXEle+D+5rjepryvCsChXcouwCfI2gWTkjFrQhzPHoriUiQ485UEebbk2T+JC3hsT3uZl2PjnQb5l6PAG+M33FVai1hCp39YNny6X1a+vE3wW9K8g6mJO7B4s4Lx/Pa45Epmd4vajMqskKKWCXumg7Yoru+steI8M7jn39NJ+gmzpmaOR0NDrxDlZfK5zG5D0cL//wB9f1WnpkYBvxVKS2V/O02UQU9c/w9tls9uHFJWnIOSKLA81xSX1LdkcdVTa5SAPll/RsRiyAJAnYYiM95t/dmFEYAK9NPw43wbu8+7NiQLQYxwV8/mDhRZkLw35xc0YxTkwxZjBYah8AFWmYS3nXhe0O3WvIkH/h6TR5DZLh4omic8U4YRorGLFmRav31PCT0YZFg3P/o0CAwEAAQ==
-----END PUBLIC KEY-----
Cipher Code examples
Here’s a cipher example in PHP:
public function encrypt(string $data): string
{
$oOpenSSLAsymmetricKey = openssl_get_publickey($this->publicKey);
if (openssl_public_encrypt($data, $encrypted, $oOpenSSLAsymmetricKey, OPENSSL_PKCS1_OAEP_PADDING)) {
$data = base64_encode($encrypted);
} else {
throw new \Exception('Unable to encrypt data');
}
return $data;
}
Here’s a cipher example in Node:
const NodeRSA = require('node-rsa');
const encrypt = async (data) => {
const clientKey = new NodeRSA(RSA_PUBLIC_KEY);
clientKey.setOptions({encryptionScheme: 'pkcs1_oaep'});
return clientKey.encrypt(data, 'base64');
};
How to cipher
Marfeel will extract all the information before ##
as the data. For example, to cipher an article with authors John Doe and Fred Doe you would declare:
<meta property="mrf:authors" content="John Doe;Fred Doe">
Ciphering the values you should insert the result of calling encrypt("John Doe;Fred Doe##random data")
into the meta tag content attribute and add the attribute encrypted=“true” to it:
<meta property="mrf:authors" encrypted="true" content="AiqpEJ+VdfIm9dlXeRND6RD+IdMBFyH0jhyXRrmUc20OxGHTBDG+xeSxx2uBkbBGmwYkiUttP/JvV69eAE2FX1lUCInFC9IFgy6X1Me9RkJeWLp5+gcg6zeaumb69uFvugPWwLwoORiXUN2LXilnV1l8GTokpXGuPaKXrYp+E1cLTDfkP/TmCu3pDK3EIFa6PuZb9r30nvNj3RutFLkEn4DHmXK9O7H/ghAtGEogg6kTHdin9ys21U+rhX1MwGr7qUiKeqYLIaLsTgX/AGgaIGB6418Ad7Wxqz549THt/xEY5wY/RhfzZc+BSoqggbhmAqw31xHiXpF0Ibbs28j+ObF6rI6stxSRGnwobBDr15c4fE2B/ybJgsCkYsF7Wx3BHpGIyfSyNZlYM1FQtKYcWwp5rd6eyGZlV35HVKwTtFanof/oVjUW7SWXuhVCJgmGVEDH/mlUACel0IkqQIQjBFeoH6LEV3/0W/zIJNFwulCe9B7fB1vbW4RfdzTyQQdK1tEQ5Y6NEKTeFKu/GEgThzssaZHF4/DLjzUt0jAaXyos773GCiuoOMAm4zGKmYw/UrQNvbLXxm7wdcszQDIxuqqFmdz0qFfAzioKKPPP1XNQRReiHZejui4n4ubSM0F02rExPJJSklQSOEcIKhbW9G76XVkM/vy/iNYCvYrkcII=">