{"id":5369,"date":"2025-05-20T00:38:37","date_gmt":"2025-05-19T22:38:37","guid":{"rendered":"https:\/\/tulipemedia.com\/?p=5369"},"modified":"2025-05-23T11:37:07","modified_gmt":"2025-05-23T09:37:07","slug":"wordpress-zapier-google-instagram-social-networks","status":"publish","type":"post","link":"https:\/\/tulipemedia.com\/it\/wordpress-zapier-google-instagram-social-networks\/","title":{"rendered":"Da WordPress a Instagram, Google Business Profile e altro con Zapier (gratuito e automatico)"},"content":{"rendered":"<p>Si vous \u00eates un blogueur, un entrepreneur, un commer\u00e7ant ou un marketeur digital utilisant WordPress, vous savez combien il est crucial de <strong>partager vos nouveaux articles sur les r\u00e9seaux sociaux pour maximiser leur port\u00e9e<\/strong>. Surtout depuis que <a href=\"https:\/\/tulipemedia.com\/guide-seo-ia\/\">les IA ont invers\u00e9 le sens de cr\u00e9ation de contenu<\/a>, en redonnant une priorit\u00e9 accrue au contenu publi\u00e9 sur les sites des marques. Mais publier manuellement sur Instagram, Google Business Profile, et d&rsquo;autres plateformes peut \u00eatre chronophage. Heureusement, avec <a href=\"https:\/\/zapier.com\/\" target=\"_blank\" rel=\"noopener\">Zapier<\/a>, vous pouvez <strong>automatiser ce processus gratuitement<\/strong> (sous certaines limites) et simplifier votre strat\u00e9gie de marketing digital. Dans cet article, je vais vous montrer :<\/p>\n<ul>\n<li>comment je <strong>relaie automatiquement<\/strong> mes articles <strong>WordPress vers Instagram, Google Business Profile<\/strong>, et m\u00eame d&rsquo;autres r\u00e9seaux sociaux, en utilisant une m\u00e9thode simple et efficace, sans plugin tiers et sans payer ;<\/li>\n<li>comment je <strong>param\u00e8tre la longueur de l&rsquo;extrait<\/strong>\u00a0;<\/li>\n<li>et comment je permets la <strong>coupe automatique de l&rsquo;extrait \u00e0 la fin d&rsquo;une phrase<\/strong> pour un rendu naturel.<\/li>\n<\/ul>\n<p>Cette m\u00e9thode me permet ainsi de proposer des offres et de communiquer autour des nouveaut\u00e9s de mes enseignes, et le tout en centralisant cela depuis mes sites WordPress. Suivez ce tutoriel \u00e9tape par \u00e9tape !<\/p>\n<h2>Pourquoi automatiser le partage de vos articles WordPress ?<\/h2>\n<ul>\n<li>Gain de temps : Plus besoin de copier-coller manuellement vos articles sur chaque plateforme.<\/li>\n<li>Coh\u00e9rence : Assurez une pr\u00e9sence r\u00e9guli\u00e8re sur vos r\u00e9seaux sociaux.<\/li>\n<li>Port\u00e9e accrue : Touchez votre audience l\u00e0 o\u00f9 elle se trouve, que ce soit sur Instagram, Google Business Profile, ou ailleurs.<\/li>\n<li>Pour le r\u00e9f\u00e9rencement SEO mais aussi le AIO : en publiant r\u00e9guli\u00e8rement depuis votre site web vers les plateformes sociales, vous remettez votre site web au centre de votre strat\u00e9gie digitale, ce qui va de le sens du grand retour au <strong>SEO via les IA<\/strong>, et ce sont des sujets que j&rsquo;aborde dans mon guide sp\u00e9cial <a href=\"https:\/\/tulipemedia.com\/guide-seo-ia\/\">\u00ab\u00a0Le SEO pour les IA\u00a0\u00bb<\/a>.<\/li>\n<\/ul>\n<h2>Exemple<\/h2>\n<p>Pour vous donner rapidement une id\u00e9e de ce que \u00e7a peut donner, <a href=\"https:\/\/libshop.fr\/w-shawarma-viande-libshop\/\" target=\"_blank\" rel=\"noopener\">voici un article r\u00e9dig\u00e9 sur le blog de mon enseigne de restauration<\/a>, relay\u00e9 <a href=\"https:\/\/www.instagram.com\/p\/DJ2AkvZPsg6\/\" target=\"_blank\" rel=\"noopener\">ici automatiquement sur Instagram<\/a> et <a href=\"https:\/\/posts.gle\/no1ZnB\" target=\"_blank\" rel=\"noopener\">ici sur Google Business Profile<\/a>, sans avoir \u00e0 publier quoique ce soit sur ces plateformes.<\/p>\n<blockquote class=\"instagram-media\" style=\"background: #FFF; border: 0; border-radius: 3px; box-shadow: 0 0 1px 0 rgba(0,0,0,0.5),0 1px 10px 0 rgba(0,0,0,0.15); margin: 1px; max-width: 540px; min-width: 326px; padding: 0; width: calc(100% - 2px);\" data-instgrm-captioned=\"\" data-instgrm-permalink=\"https:\/\/www.instagram.com\/p\/DJ2AkvZPsg6\/?utm_source=ig_embed&amp;utm_campaign=loading\" data-instgrm-version=\"14\">\n<div style=\"padding: 16px;\">\n<p>&nbsp;<\/p>\n<div style=\"display: flex; flex-direction: row; align-items: center;\">\n<div style=\"background-color: #f4f4f4; border-radius: 50%; flex-grow: 0; height: 40px; margin-right: 14px; width: 40px;\"><\/div>\n<div style=\"display: flex; flex-direction: column; flex-grow: 1; justify-content: center;\">\n<div style=\"background-color: #f4f4f4; border-radius: 4px; flex-grow: 0; height: 14px; margin-bottom: 6px; width: 100px;\"><\/div>\n<div style=\"background-color: #f4f4f4; border-radius: 4px; flex-grow: 0; height: 14px; width: 60px;\"><\/div>\n<\/div>\n<\/div>\n<div style=\"padding: 19% 0;\"><\/div>\n<div style=\"display: block; height: 50px; margin: 0 auto 12px; width: 50px;\"><\/div>\n<div style=\"padding-top: 8px;\">\n<div style=\"color: #3897f0; font-family: Arial,sans-serif; font-size: 14px; font-style: normal; font-weight: 550; line-height: 18px;\">Voir cette publication sur Instagram<\/div>\n<\/div>\n<div style=\"padding: 12.5% 0;\"><\/div>\n<div style=\"display: flex; flex-direction: row; margin-bottom: 14px; align-items: center;\">\n<div>\n<div style=\"background-color: #f4f4f4; border-radius: 50%; height: 12.5px; width: 12.5px; transform: translateX(0px) translateY(7px);\"><\/div>\n<div style=\"background-color: #f4f4f4; height: 12.5px; transform: rotate(-45deg) translateX(3px) translateY(1px); width: 12.5px; flex-grow: 0; margin-right: 14px; margin-left: 2px;\"><\/div>\n<div style=\"background-color: #f4f4f4; border-radius: 50%; height: 12.5px; width: 12.5px; transform: translateX(9px) translateY(-18px);\"><\/div>\n<\/div>\n<div style=\"margin-left: 8px;\">\n<div style=\"background-color: #f4f4f4; border-radius: 50%; flex-grow: 0; height: 20px; width: 20px;\"><\/div>\n<div style=\"width: 0; height: 0; border-top: 2px solid transparent; border-left: 6px solid #f4f4f4; border-bottom: 2px solid transparent; transform: translateX(16px) translateY(-4px) rotate(30deg);\"><\/div>\n<\/div>\n<div style=\"margin-left: auto;\">\n<div style=\"width: 0px; border-top: 8px solid #F4F4F4; border-right: 8px solid transparent; transform: translateY(16px);\"><\/div>\n<div style=\"background-color: #f4f4f4; flex-grow: 0; height: 12px; width: 16px; transform: translateY(-4px);\"><\/div>\n<div style=\"width: 0; height: 0; border-top: 8px solid #F4F4F4; border-left: 8px solid transparent; transform: translateY(-4px) translateX(8px);\"><\/div>\n<\/div>\n<\/div>\n<div style=\"display: flex; flex-direction: column; flex-grow: 1; justify-content: center; margin-bottom: 24px;\">\n<div style=\"background-color: #f4f4f4; border-radius: 4px; flex-grow: 0; height: 14px; margin-bottom: 6px; width: 224px;\"><\/div>\n<div style=\"background-color: #f4f4f4; border-radius: 4px; flex-grow: 0; height: 14px; width: 144px;\"><\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<p style=\"color: #c9c8cd; font-family: Arial,sans-serif; font-size: 14px; line-height: 17px; margin-bottom: 0; margin-top: 8px; overflow: hidden; padding: 8px 0 7px; text-align: center; text-overflow: ellipsis; white-space: nowrap;\"><a style=\"color: #c9c8cd; font-family: Arial,sans-serif; font-size: 14px; font-style: normal; font-weight: normal; line-height: 17px; text-decoration: none;\" href=\"https:\/\/www.instagram.com\/p\/DJ2AkvZPsg6\/?utm_source=ig_embed&amp;utm_campaign=loading\" target=\"_blank\" rel=\"noopener\">Une publication partag\u00e9e par Libshop, cuisine saine et cr\u00e9ative d\u2019inspiration libanaise (@libshop.paris)<\/a><\/p>\n<\/div>\n<\/blockquote>\n<p><script async src=\"\/\/www.instagram.com\/embed.js\"><\/script><\/p>\n<h2>Pr\u00e9requis<\/h2>\n<p>Avant de commencer, assurez-vous d\u2019avoir :<\/p>\n<ul>\n<li><a href=\"https:\/\/wordpress.org\/\" target=\"_blank\" rel=\"noopener\">Un blog WordPress<\/a>, qui deviendra le syst\u00e8me nerveux de votre communication web.<\/li>\n<li>Un compte Instagram Business (n\u00e9cessaire pour publier via Zapier).<\/li>\n<li>Un compte Google Business Profile connect\u00e9 \u00e0 vos \u00e9tablissements.<\/li>\n<li>Un compte <a href=\"https:\/\/zapier.com\/\" target=\"_blank\" rel=\"noopener\">Zapier<\/a> (la version gratuite suffit pour ce tutoriel, avec une limite de 100 t\u00e2ches par mois, ce qui est amplement suffisant pour un commerce, un restaurant, etc).<\/li>\n<\/ul>\n<p>Zapier propose une offre gratuite qui permet jusqu\u2019\u00e0 100 t\u00e2ches par mois (une t\u00e2che = une action ex\u00e9cut\u00e9e, comme un post sur Instagram). Cela devrait suffire pour un blog avec quelques publications mensuelles.<\/p>\n<h2>\u00c9tape 1 : Personnaliser l\u2019extrait de vos articles WordPress avec excerpt.raw<\/h2>\n<p>Pour que Zapier puisse partager un extrait propre et optimis\u00e9 de vos articles, nous allons personnaliser l\u2019extrait dans l\u2019API REST de WordPress en ajoutant un champ excerpt.raw (texte brut). Cela \u00e9vite d\u2019avoir \u00e0 nettoyer les balises HTML dans Zapier.<\/p>\n<h3>Cr\u00e9ation d&rsquo;un snippet d\u00e9di\u00e9 pour g\u00e9n\u00e9rer excerpt.raw<\/h3>\n<p>Ajoutez ce code dans le fichier functions.php de votre th\u00e8me WordPress (ou via un plugin comme Code Snippets) :<\/p>\n<pre><code>function tulipemedia_rest_excerpt($response, $post, $request) {\r\n    if ($post-&gt;post_type !== 'post') {\r\n        return $response;\r\n    }\r\n\r\n    $max_chars = 800;\r\n    $text = !empty($post-&gt;post_excerpt) ? $post-&gt;post_excerpt : get_the_content(null, false, $post);\r\n    $text = strip_shortcodes($text);\r\n    $text = wp_strip_all_tags($text);\r\n    $text = trim($text);\r\n\r\n    \/\/ Approximation : 1 mot \u2248 6 caract\u00e8res\r\n    $word_count = round($max_chars \/ 6); \/\/ ~133 mots\r\n    $text = wp_trim_words($text, $word_count, '');\r\n\r\n    \/\/ Chercher la derni\u00e8re ponctuation\r\n    $punctuations = ['.', '!', '?'];\r\n    $last_punct_pos = -1;\r\n    foreach ($punctuations as $p) {\r\n        $pos = mb_strrpos($text, $p);\r\n        if ($pos !== false &amp;&amp; $pos &gt; $last_punct_pos) {\r\n            $last_punct_pos = $pos;\r\n        }\r\n    }\r\n    if ($last_punct_pos !== -1) {\r\n        $text = mb_substr($text, 0, $last_punct_pos + 1);\r\n    } else {\r\n        $text .= '...';\r\n    }\r\n\r\n    \/\/ D\u00e9coder les entit\u00e9s HTML pour \u00e9viter l'\u00e9chappement (par exemple, &amp; \u2192 &amp;)\r\n    $text = html_entity_decode($text, ENT_QUOTES | ENT_HTML5, 'UTF-8');\r\n\r\n    $response-&gt;data['excerpt']['raw'] = $text;\r\n    $response-&gt;data['excerpt']['rendered'] = wpautop($text);\r\n    return $response;\r\n}\r\nadd_filter('rest_prepare_post', 'tulipemedia_rest_excerpt', 10, 3);<\/code><\/pre>\n<h3>Explication du code<\/h3>\n<h4>1. G\u00e9n\u00e9ration d\u2019un extrait d\u2019environ 800 caract\u00e8res (~133 mots)<\/h4>\n<p>Le code commence par r\u00e9cup\u00e9rer le contenu de l\u2019article et le transforme en un extrait d\u2019environ 800 caract\u00e8res si aucun extrait manuel n\u2019est d\u00e9fini. Voici comment cela fonctionne :<\/p>\n<ul>\n<li><strong>R\u00e9cup\u00e9ration du contenu :<\/strong><\/li>\n<\/ul>\n<p><code style=\"font-size: 16px;\">$text = !empty($post-&gt;post_excerpt) ? $post-&gt;post_excerpt : get_the_content(null, false, $post);<\/code><\/p>\n<div dir=\"auto\">\n<div><span style=\"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';\">Si un extrait manuel (post_excerpt) est d\u00e9fini dans l\u2019\u00e9diteur WordPress, il est utilis\u00e9. S<\/span><span style=\"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';\">inon, le contenu complet de l\u2019article est r\u00e9cup\u00e9r\u00e9 avec get_the_content. A ce titre, lorsque vous avez le temps, n&rsquo;h\u00e9sitez pas \u00e0 personnaliser l&rsquo;extrait dans WordPress, c&rsquo;est toujours bien. N\u00e9anmoins, si vous n&rsquo;avez pas le temps ou que le d\u00e9but de votre article est naturellement optimis\u00e9 pour constituer un bon extrait, c&rsquo;est l\u00e0 que ce tutoriel prend tout son sens, car nous allons g\u00e9n\u00e9rer un extrait optimis\u00e9 pour les r\u00e9seaux sociaux automatiquement.<\/span><\/div>\n<\/div>\n<ul dir=\"auto\">\n<li><strong>Nettoyage du contenu :<\/strong><\/li>\n<\/ul>\n<p><code style=\"font-size: 16px;\">$text = strip_shortcodes($text);<br \/>\n$text = wp_strip_all_tags($text);<br \/>\n$text = trim($text);<\/code><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li><em>strip_shortcodes<\/em> supprime les shortcodes WordPress.<\/li>\n<li><em>wp_strip_all_tags<\/em> enl\u00e8ve toutes les balises HTML.<\/li>\n<li><em>trim<\/em> supprime les espaces inutiles.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Coupe \u00e0 environ 800 caract\u00e8res :<\/strong><\/li>\n<\/ul>\n<p><code style=\"font-size: 16px;\">$post);$max_chars = 800;<br \/>\n$word_count = round($max_chars \/ 6); \/\/ ~133 mots<br \/>\n$text = wp_trim_words($text, $word_count, '');<\/code><\/p>\n<ul>\n<li>$max_chars = 800 d\u00e9finit la longueur cible en caract\u00e8res.<\/li>\n<li>L\u2019approximation round($max_chars \/ 6) convertit cette longueur en mots, en supposant qu\u2019un mot fait environ 6 caract\u00e8res en fran\u00e7ais (par exemple, 800 \u00f7 6 \u2248 133 mots).<\/li>\n<li>wp_trim_words($text, $word_count, \u00a0\u00bb) coupe le texte \u00e0 environ 133 mots, sans ajouter de suffixe (comme &#8230;).<\/li>\n<\/ul>\n<h4>2. G\u00e9n\u00e9ration d\u2019un extrait d\u2019environ 800 caract\u00e8res (~133 mots)<\/h4>\n<p>Apr\u00e8s avoir coup\u00e9 \u00e0 ~800 caract\u00e8res, le code ajuste l\u2019extrait pour qu\u2019il se termine \u00e0 la derni\u00e8re ponctuation forte, pour un rendu naturel :<\/p>\n<ul>\n<li><strong>Recherche de la derni\u00e8re ponctuation :<\/strong><\/li>\n<\/ul>\n<p><code style=\"font-size: 16px;\">$punctuations = ['.', '!', '?'];<br \/>\n$last_punct_pos = -1;<br \/>\nforeach ($punctuations as $p) {<br \/>\n$pos = mb_strrpos($text, $p);<br \/>\nif ($pos !== false &amp;&amp; $pos &gt; $last_punct_pos) {<br \/>\n$last_punct_pos = $pos;<br \/>\n}<br \/>\n}<br \/>\n<\/code><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li><em>$punctuations<\/em> d\u00e9finit les signes de ponctuation \u00e0 rechercher (., !, ?).<\/li>\n<li><em>mb_strrpos<\/em> trouve la position de la derni\u00e8re occurrence de chaque signe dans le texte.<\/li>\n<li><em>$last_punct_pos<\/em> conserve la position la plus \u00e9loign\u00e9e trouv\u00e9e.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Coupe \u00e0 cette position :<\/strong><\/li>\n<\/ul>\n<p><code style=\"font-size: 16px;\">$if ($last_punct_pos !== -1) {<br \/>\n$text = mb_substr($text, 0, $last_punct_pos + 1);<br \/>\n} else {<br \/>\n$text .= '...';<br \/>\n}<\/code><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li>Si une ponctuation est trouv\u00e9e ($last_punct_pos !== -1), mb_substr coupe le texte \u00e0 cette position (incluant le signe de ponctuation).<\/li>\n<li>Sinon, ajoute &#8230; \u00e0 la fin pour indiquer que l\u2019extrait est tronqu\u00e9.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><strong>En d\u00e9finitive, ce code :<\/strong><\/p>\n<ul>\n<li><strong>G\u00e9n\u00e8re un extrait d\u2019environ 800 caract\u00e8res (~133 mots)<\/strong> \u00e0 partir du contenu de l\u2019article, si aucun extrait manuel n\u2019est d\u00e9fini.<\/li>\n<li><strong>Coupe l\u2019extrait \u00e0 la derni\u00e8re ponctuation<\/strong> (., !, ?) pour un rendu naturel.<\/li>\n<li><strong>Expose l\u2019extrait brut<\/strong> dans excerpt.raw (sans balises HTML) et l\u2019extrait format\u00e9 dans excerpt.rendered (avec balises &lt;p&gt; et &lt;br \/&gt;) si besoin.<\/li>\n<\/ul>\n<h3>Comment personnaliser ce code selon ses besoins ?<\/h3>\n<h4 dir=\"auto\">1. <strong>Modifier la longueur de l\u2019extrait<\/strong><\/h4>\n<p dir=\"auto\">Pour changer la longueur cible (par exemple, de 800 \u00e0 500 caract\u00e8res) :<\/p>\n<ul dir=\"auto\">\n<li><strong>Ajuste $max_chars<\/strong> : <code style=\"font-size: 16px;\">$max_chars = 500; \/\/ Remplace 800 par la longueur d\u00e9sir\u00e9e en caract\u00e8res<\/code><\/li>\n<li><strong>Impact<\/strong> : <em>$word_count = round($max_chars \/ 6)<\/em> recalculera automatiquement le nombre de mots (par exemple, 500 \u00f7 6 \u2248 83 mots), en consid\u00e9rant que la longueur moyenne d&rsquo;un mot est d&rsquo;environ 6 caract\u00e8res, et <em>wp_trim_words<\/em> coupera \u00e0 cette nouvelle longueur.<\/li>\n<li><strong>Exemple<\/strong> : Si vous voulez un extrait plus court (280 caract\u00e8res par exemple), d\u00e9finis $max_chars = 280.<\/li>\n<\/ul>\n<h4 dir=\"auto\">2. <strong>Modifier l\u2019approximation caract\u00e8res\/mots<\/strong><\/h4>\n<p dir=\"auto\">L\u2019approximation actuelle (1 mot \u2248 6 caract\u00e8res) est adapt\u00e9e au fran\u00e7ais, mais cela peut varier selon la langue ou le style d\u2019\u00e9criture. Pour ajuster :<\/p>\n<ul dir=\"auto\">\n<li><strong>Changez le diviseur<\/strong> : <code style=\"font-size: 16px;\">$word_count = round($max_chars \/ 5); \/\/ Si un mot fait en moyenne 5 caract\u00e8res<\/code><\/li>\n<li><strong>Exemple<\/strong> : pour 800 caract\u00e8res, cela donnerait 800 \u00f7 5 \u2248 160 mots.<\/li>\n<\/ul>\n<h4 dir=\"auto\">3. <strong>Modifier les signes de ponctuation<\/strong><\/h4>\n<p dir=\"auto\">Pour ajouter ou retirer des signes de ponctuation \u00e0 rechercher (par exemple, ajouter \u2026 ou \ud83d\ude09 :<\/p>\n<ul dir=\"auto\">\n<li><strong>Ajustez $punctuations<\/strong> : <code style=\"font-size: 16px;\">$punctuations = ['.', '!', '?', '\u2026', ';'];<\/code><\/li>\n<li><strong>Impact<\/strong> : Le code cherchera aussi \u2026 et ; pour couper l\u2019extrait, ce qui peut \u00eatre utile si le contenu utilise ces signes fr\u00e9quemment.<\/li>\n<\/ul>\n<h4 dir=\"auto\">4. <strong>Changer le suffixe de troncature<\/strong><\/h4>\n<p dir=\"auto\">Si aucune ponctuation n\u2019est trouv\u00e9e, le code ajoute &#8230;. Pour utiliser un autre suffixe (par exemple, [Lire la suite]), modifiez cette ligne :<\/p>\n<ul dir=\"auto\">\n<li><strong>Ajuste le suffixe<\/strong> : <code style=\"font-size: 16px;\">$text .= '[Lire la suite]'; \/\/ Remplacez '...' par le suffixe souhait\u00e9<\/code><\/li>\n<li><strong>Exemple<\/strong> : Cela peut \u00eatre utile pour encourager les lecteurs \u00e0 cliquer sur un lien vers l\u2019article complet. Attention, Google Business dispose d\u00e9j\u00e0 de son bouton d&rsquo;appel \u00e0 l&rsquo;action.<\/li>\n<\/ul>\n<h4 dir=\"auto\">Exemple de code personnalis\u00e9<\/h4>\n<p dir=\"auto\">Voici le code modifi\u00e9 avec une longueur de 500 caract\u00e8res, un diviseur de 5 caract\u00e8res par mot, des ponctuations suppl\u00e9mentaires, et un suffixe personnalis\u00e9 :<\/p>\n<pre><code>function tulipemedia_rest_excerpt($response, $post, $request) {\r\nif ($post-&gt;post_type !== 'post') {\r\nreturn $response;\r\n}\r\n\r\n$max_chars = 500; \/\/ Longueur cible : 500 caract\u00e8res\r\n$text = !empty($post-&gt;post_excerpt) ? $post-&gt;post_excerpt : get_the_content(null, false, $post);\r\n$text = strip_shortcodes($text);\r\n$text = wp_strip_all_tags($text);\r\n$text = trim($text);\r\n\r\n\/\/ Approximation : 1 mot \u2248 5 caract\u00e8res\r\n$word_count = round($max_chars \/ 5); \/\/ ~100 mots\r\n$text = wp_trim_words($text, $word_count, '');\r\n\r\n\/\/ Chercher la derni\u00e8re ponctuation\r\n$punctuations = ['.', '!', '?', '\u2026', ';'];\r\n$last_punct_pos = -1;\r\nforeach ($punctuations as $p) {\r\n$pos = mb_strrpos($text, $p);\r\nif ($pos !== false &amp;&amp; $pos &gt; $last_punct_pos) {\r\n$last_punct_pos = $pos;\r\n}\r\n}\r\nif ($last_punct_pos !== -1) {\r\n$text = mb_substr($text, 0, $last_punct_pos + 1);\r\n} else {\r\n$text .= '[Lire la suite]';\r\n}\r\n\r\n$response-&gt;data['excerpt']['raw'] = $text;\r\n$response-&gt;data['excerpt']['rendered'] = wpautop($text);\r\nreturn $response;\r\n}\r\nadd_filter('rest_prepare_post', 'tulipemedia_rest_excerpt', 10, 3);<\/code><\/pre>\n<p>Testez cela en acc\u00e9dant \u00e0 l\u2019API REST de votre blog, par exemple : monsite.com\/wp-json\/wp\/v2\/posts\/ID en rempla\u00e7ant ID par l&rsquo;ID d&rsquo;un article test. Cherchez le champ excerpt.raw dans la r\u00e9ponse JSON pour confirmer qu\u2019il est bien pr\u00e9sent, avec la longueur d\u00e9sir\u00e9e.<\/p>\n<h2>\u00c9tape 2 : Cr\u00e9er un compte Zapier et configurer le Zap<\/h2>\n<p>Inscrivez-vous sur <a href=\"http:\/\/zapier.com\" target=\"_blank\" rel=\"noopener\">Zapier<\/a> et cr\u00e9ez un compte gratuit. <strong>La version gratuite permet jusqu\u2019\u00e0 100 t\u00e2ches par mois, ce qui est suffisant pour quelques publications mensuelles<\/strong>.<\/p>\n<p>Cr\u00e9ez un nouveau Zap : Cliquez sur \u00ab\u00a0Create Zap\u00a0\u00bb dans le tableau de bord Zapier.<\/p>\n<h3>Trigger : Nouveau post WordPress<\/h3>\n<p>Choisissez l\u2019app \u00ab\u00a0WordPress\u00a0\u00bb comme d\u00e9clencheur (trigger), puis s\u00e9lectionnez l\u2019\u00e9v\u00e9nement \u00ab\u00a0New Post\u00a0\u00bb : cela d\u00e9clenchera le Zap \u00e0 chaque nouvelle publication d\u2019article.<\/p>\n<p>Zapier vous demandera l\u2019URL de votre site et vos identifiants WordPress (nom d\u2019utilisateur et mot de passe, ou une m\u00e9thode d\u2019authentification via un plugin si n\u00e9cessaire). Si vous utilisez un plugin de s\u00e9curit\u00e9, vous devrez peut-\u00eatre activer l\u2019API REST ou cr\u00e9er un utilisateur sp\u00e9cifique pour Zapier.<\/p>\n<p>Testez le trigger : Publiez un article de test ou s\u00e9lectionnez un article existant (comme l\u2019article ID 9941 si vous en avez un). Zapier devrait r\u00e9cup\u00e9rer les donn\u00e9es de l\u2019article, y compris Excerpt Raw.<\/p>\n<h3>Action 1 : Publier sur Instagram<\/h3>\n<p>Ajoutez une action : Cliquez sur le \u00ab\u00a0+\u00a0\u00bb pour ajouter une \u00e9tape.<\/p>\n<p>Choisissez l\u2019app \u00ab\u00a0Instagram for Business\u00a0\u00bb et l\u2019action \u00ab\u00a0Publish Photo\u00a0\u00bb. Vous devez avoir un compte Instagram Business connect\u00e9 \u00e0 une page Facebook. Connectez votre compte Instagram Business en suivant les instructions pour connecter votre compte via Facebook. Vous devrez autoriser Zapier \u00e0 acc\u00e9der \u00e0 votre page Instagram Business.<\/p>\n<figure id=\"attachment_5375\" aria-describedby=\"caption-attachment-5375\" style=\"width: 500px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-5375 size-full\" src=\"https:\/\/tulipemedia.com\/wp-content\/uploads\/sites\/3\/2025\/05\/zapier-wordpress-instagram.png\" alt=\"\" width=\"500\" height=\"802\" title=\"\"><figcaption id=\"caption-attachment-5375\" class=\"wp-caption-text\">WordPress vers Instagram via Zapier<\/figcaption><\/figure>\n<p>Configurez l\u2019action :<\/p>\n<ul>\n<li>Photo : S\u00e9lectionnez l\u2019URL de l\u2019image de votre article (<strong>Featured Media URL<\/strong> dans les donn\u00e9es WordPress).<\/li>\n<li>Caption : Utilisez le champ <strong>Excerpt Raw<\/strong> pour la l\u00e9gende. Vous pouvez aussi ajouter le titre de l\u2019article et un lien vers celui-ci (par exemple, Title + Excerpt Raw + Link).<\/li>\n<\/ul>\n<p>Voici personnellement la l\u00e9gende que j&rsquo;ai choisie pour donner une id\u00e9e :<\/p>\n<p><em>{{excerpt__raw}}<\/em><br \/>\n<em>\u2022<\/em><br \/>\n<em>RETROUVEZ L&rsquo;INT\u00c9GRALIT\u00c9 DU POST SUR LE BLOG LIBSHOP \ud83d\udc49 {{link}}<\/em><br \/>\n<em>#libshop #restaurant #paris<\/em><\/p>\n<p>Ensuite, testez l\u2019action en envoyant un test \u00e0 Instagram. V\u00e9rifiez que le post appara\u00eet sur votre profil Instagram Business avec la l\u00e9gende et l\u2019image correctes.<\/p>\n<h3>Action 2 : Publier sur Google Business Profile<\/h3>\n<p>Ajoutez une autre action : Cliquez sur le \u00ab\u00a0+\u00a0\u00bb pour ajouter une nouvelle \u00e9tape. Choisissez l\u2019app \u00ab\u00a0Google Business Profile\u00a0\u00bb et l\u2019action \u00ab\u00a0Create Post\u00a0\u00bb. Connectez votre compte Google, s\u00e9lectionnez le profil de l\u2019\u00e9tablissement que vous voulez utiliser, et configurez l\u2019action :<\/p>\n<ul>\n<li>Summary : Utilisez Excerpt Raw pour le contenu du post.<\/li>\n<li>Action Button Url : {{link}}<\/li>\n<li>Photo Source URL : Featured Media URL.<\/li>\n<\/ul>\n<p>Testez l\u2019action en envoyant un test \u00e0 Google Business Profile. V\u00e9rifiez que le post appara\u00eet sur le profil de votre \u00e9tablissement.<\/p>\n<figure id=\"attachment_5376\" aria-describedby=\"caption-attachment-5376\" style=\"width: 500px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5376\" src=\"https:\/\/tulipemedia.com\/wp-content\/uploads\/sites\/3\/2025\/05\/wordpress-to-google-business-profile-zapier.png\" alt=\"\" width=\"500\" height=\"878\" title=\"\"><figcaption id=\"caption-attachment-5376\" class=\"wp-caption-text\">WordPress vers Google Business Profile via Zapier<\/figcaption><\/figure>\n<h3>Action 3 : Publier sur d\u2019autres plateformes (optionnel)<\/h3>\n<p>Vous pouvez ajouter d\u2019autres plateformes prises en charge par Zapier (toujours dans la limite gratuite de 100 t\u00e2ches par mois). Vous pouvez par exemple rajouter LinkedIn \u00e0 l&rsquo;automatisation pour partager votre article sur votre profil ou une page LinkedIn. Configurez l\u00e0 aussi le message avec Excerpt Raw et Link, ainsi que Featured Media URL.<\/p>\n<h2>\u00c9tape 3 : Testez et activez votre Zap<\/h2>\n<ul>\n<li>Testez toutes les actions : Assurez-vous que chaque plateforme (Instagram, Google Business Profile, et autres) re\u00e7oit correctement les publications.<\/li>\n<li>Activez le Zap : Une fois que tout fonctionne, activez le Zap en cliquant sur \u00ab\u00a0Turn on Zap\u00a0\u00bb.<\/li>\n<li>Surveillez vos t\u00e2ches Zapier : Avec la version gratuite, vous \u00eates limit\u00e9 \u00e0 100 t\u00e2ches par mois. Chaque publication sur une plateforme compte comme une t\u00e2che (par exemple, 1 article publi\u00e9 sur Instagram + Google Business Profile = 2 t\u00e2ches). Si vous publiez 5 articles par mois sur 3 plateformes, cela fait 15 t\u00e2ches, ce qui reste largement dans la limite gratuite.<\/li>\n<\/ul>\n<h2>Conclusion<\/h2>\n<p>Avec Zapier, <strong>automatiser le partage de vos articles WordPress vers Instagram, Google Business Profile<\/strong>, et d\u2019autres plateformes est un jeu d\u2019enfant, m\u00eame avec un compte gratuit. En utilisant <em>excerpt.raw<\/em>, vous vous assurez que vos extraits sont propres et pr\u00eats \u00e0 \u00eatre publi\u00e9s sans nettoyage suppl\u00e9mentaire. Essayez cette m\u00e9thode sur votre blog et gagnez du temps pour vous concentrer sur la cr\u00e9ation de contenu de qualit\u00e9 pour votre audience et vos clients !<\/p>\n<p>Avez-vous d\u2019autres astuces pour automatiser votre marketing digital avec WordPress ? Partagez-les dans les commentaires !<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In questo articolo ti mostrer\u00f2 come inoltrare automaticamente i miei articoli WordPress su Instagram, Google Business Profile e altri social network in modo gratuito ed efficace \ud83d\ude80 #WordPress #MarketingDigital #Automation<\/p>","protected":false},"author":17,"featured_media":5373,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[158,26,5],"tags":[166],"class_list":["post-5369","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ia","category-seo","category-wordpress","tag-tutoriels-wordpress"],"_links":{"self":[{"href":"https:\/\/tulipemedia.com\/it\/wp-json\/wp\/v2\/posts\/5369","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tulipemedia.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tulipemedia.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tulipemedia.com\/it\/wp-json\/wp\/v2\/users\/17"}],"replies":[{"embeddable":true,"href":"https:\/\/tulipemedia.com\/it\/wp-json\/wp\/v2\/comments?post=5369"}],"version-history":[{"count":3,"href":"https:\/\/tulipemedia.com\/it\/wp-json\/wp\/v2\/posts\/5369\/revisions"}],"predecessor-version":[{"id":5390,"href":"https:\/\/tulipemedia.com\/it\/wp-json\/wp\/v2\/posts\/5369\/revisions\/5390"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tulipemedia.com\/it\/wp-json\/wp\/v2\/media\/5373"}],"wp:attachment":[{"href":"https:\/\/tulipemedia.com\/it\/wp-json\/wp\/v2\/media?parent=5369"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tulipemedia.com\/it\/wp-json\/wp\/v2\/categories?post=5369"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tulipemedia.com\/it\/wp-json\/wp\/v2\/tags?post=5369"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}