Article original : How to Automatically Cross-post from Your GatsbyJS Blog with RSS
Par Dane Stevens
Avec l'exode récent de Medium, de nombreux développeurs créent désormais leurs propres blogs GatsbyJS, puis cross-postent vers Medium ou des publications comme freecodecamp.org et dev.to.
Le cross-posting est chronophage, mais nécessaire pour générer du trafic vers votre site personnel. Voyons comment nous pouvons automatiser cela en ajoutant un flux RSS à votre blog GatsbyJS personnel.
Ajouter des URL canoniques à votre blog
Qu'est-ce qu'une URL canonique ?

Une URL canonique indique aux moteurs de recherche quelle page est la page principale ou autoritaire lorsque du contenu dupliqué est trouvé (c'est-à-dire le cross-posting).
Installons gatsby-plugin-canonical-urls
Astuce rapide : npm i est un alias pour npm install --save
npm i gatsby-plugin-canonical-urls
Remarque : Si vous utilisez gatsby-plugin-react-helmet, installez plutôt ce plugin : gatsby-plugin-react-helmet-canonical-urls*
npm i gatsby-plugin-react-helmet-canonical-urls
Ajoutez la configuration du plugin à /gatsby-config.js
// Dans votre gatsby-config.js
plugins: [
{
resolve: `gatsby-plugin-canonical-urls`,
// ou
// resolve: `gatsby-plugin-react-helmet-canonical-urls`
options: {
// Changez `siteUrl` par votre domaine
siteUrl: `https://tueri.io`
// Les paramètres de chaîne de requête sont inclus par défaut.
// Définissez `stripQueryString: true` si vous ne voulez pas que `/blog`
// et `/blog?tag=foobar` soient indexés séparément
stripQueryString: true
}
}
]
Avec cette configuration, le plugin ajoutera un <link rel="canonical" ... /> à l'en-tête de chaque page, par exemple :
<link rel="canonical" href="https://tueri.io/2019-04-04-how-to-securely-deploy-to-kubernetes-from-bitbucket-pipelines/" />
Installer un générateur de flux RSS
Nous utiliserons gatsby-plugin-feed pour générer un flux RSS à partir de nos articles de blog.
npm i gatsby-plugin-feed
Ajoutez la configuration du plugin à /gatsby-config.js
// Dans votre gatsby-config.js
plugins: [
{
resolve: `gatsby-plugin-feed`,
options: {
query: `
{
site {
siteMetadata {
title
description
siteUrl
site_url: siteUrl
}
}
}
`,
feeds: [
{
serialize: ({ query: { site, allMarkdownRemark } }) => {
return allMarkdownRemark.edges.map(edge => {
return Object.assign({}, edge.node.frontmatter, {
description: edge.node.excerpt,
date: edge.node.frontmatter.date,
url: site.siteMetadata.siteUrl + edge.node.fields.slug,
guid: site.siteMetadata.siteUrl + edge.node.fields.slug,
custom_elements: [{ "content:encoded": edge.node.html }],
})
})
},
query: `
{
allMarkdownRemark(
sort: { order: DESC, fields: [frontmatter___date] },
) {
edges {
node {
excerpt
html
fields { slug }
frontmatter {
title
date
}
}
}
}
}
`,
output: "/rss.xml",
title: "Flux RSS de votre site",
// configuration optionnelle pour insérer la référence du flux dans les pages :
// si une `chaîne` est utilisée, elle servira à créer une RegExp puis à tester si le chemin
// de la page actuelle satisfait cette expression régulière ;
// si non fourni ou `indéfini`, toutes les pages auront une référence de flux insérée
match: "^/blog/",
},
],
}
}
]
REMARQUE : Ce plugin ne génère le(s) fichier(s) xml que lorsqu'il est exécuté en mode production ! Pour tester votre flux, exécutez : gatsby build && gatsby serve
Voici à quoi ressemble notre flux : Flux RSS de Tueri.io
Pour plus d'informations sur la configuration de votre flux, consultez la documentation du plugin.
Connecter dev.to à votre flux RSS
- Connectez-vous à votre compte dev.to
- Allez dans : Paramètres > Publishing from RSS ou https://dev.to/settings/publishing-from-rss
- Ajoutez votre "URL de flux RSS" par exemple https://tueri.io/rss.xml
- Cochez "Marquer la source RSS comme URL canonique par défaut"
- Cliquez sur "Mettre à jour"

Connecter Medium à votre flux RSS
La connexion pour Medium n'est pas tout à fait aussi directe, mais assez simple avec Zapier.
Rendez-vous sur Zapier et créez un compte gratuit.
"Créer un Zap"
- Choisissez "RSS" comme "Application de déclenchement"
- Sélectionnez "Nouvel élément dans le flux"
- Collez votre "URL de flux"
- Sélectionnez un exemple de votre flux.
- Choisissez "Medium" comme "Application d'action"
- Sélectionnez "Créer une histoire"
- Autorisez votre compte Medium
- Sélectionnez vos champs : assurez-vous de sélectionner votre URL canonique
- Envoyez un test à Medium
- Terminez et activez votre Zap

Conclusion
Assurez-vous que Google vous crédite pour votre contenu en utilisant des URL canoniques.
J'espère que vous avez trouvé cela utile et que cela vous fera gagner beaucoup de temps à cross-poster votre contenu !
Initialement publié sur Tueri.io