[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"docs-\u002Fdocs\u002Fintegrations":3},{"id":4,"title":5,"body":6,"description":337,"extension":338,"meta":339,"navigation":340,"order":341,"path":342,"seo":343,"stem":344,"summary":345,"__hash__":346},"docs\u002Fdocs\u002Fintegrations\u002Findex.md","Website content integrations",{"type":7,"value":8,"toc":327},"minimark",[9,13,23,26,75,80,156,164,168,171,187,190,194,227,231,241,256,260,263,266,270,273,324],[10,11,5],"h1",{"id":12},"website-content-integrations",[14,15,16,17,22],"p",{},"This guide is for businesses that already have a website. If you are working on Google Maps, reviews, Instagram, or a business with no website yet, start with ",[18,19,21],"a",{"href":20},"\u002Fdocs\u002Flocal-ranking","Local ranking"," instead.",[14,24,25],{},"The idea is simple: connect the website once, then let 42flows publish and verify work through the safest path for that stack.",[27,28,30,31,30,35],"div",{"style":29},"margin: 28px 0; border: 1px solid #ddd6c7; background: #faf8f2; color: #1f2937; padding: 20px;","\n  ",[27,32,34],{"style":33},"font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: #6b6255;","Pick the publishing path",[27,36,38,39,38,51,38,59,38,67,30],{"style":37},"display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); margin-top: 16px;","\n    ",[27,40,42,43,47,50],{"style":41},"border: 1px solid #ded6c9; background: #fff; color: #1f2937; padding: 14px;","\n      ",[44,45,46],"strong",{},"WordPress",[48,49],"br",{},"\n      Best for sites that publish posts and use SEO plugins like Yoast or Rank Math.\n    ",[27,52,42,53,56,58],{"style":41},[44,54,55],{},"Shopify",[48,57],{},"\n      Best for stores that want SEO articles inside a Shopify blog.\n    ",[27,60,42,61,64,66],{"style":41},[44,62,63],{},"Nuxt Content",[48,65],{},"\n      Best for GitHub-backed content sites that publish from markdown files.\n    ",[27,68,42,69,72,74],{"style":41},[44,70,71],{},"Webhook",[48,73],{},"\n      Best for Next.js and custom apps that own their database, routes, and cache.\n    ",[76,77,79],"h2",{"id":78},"start-here","Start here",[81,82,83,99],"table",{},[84,85,86],"thead",{},[87,88,89,93,96],"tr",{},[90,91,92],"th",{},"Your website",[90,94,95],{},"Use this path",[90,97,98],{},"Helpful page",[100,101,102,116,129,142],"tbody",{},[87,103,104,107,110],{},[105,106,46],"td",{},[105,108,109],{},"Connect with a WordPress Application Password. 42flows can publish posts and work with common SEO plugins.",[105,111,112],{},[18,113,115],{"href":114},"\u002Fwordpress","WordPress setup guides",[87,117,118,120,123],{},[105,119,55],{},[105,121,122],{},"Connect the Shopify store and publish into a blog. Your Shopify theme handles the final page design.",[105,124,125],{},[18,126,128],{"href":127},"\u002Fdocs\u002Fintegrations\u002Fshopify","Shopify publishing setup",[87,130,131,133,136],{},[105,132,63],{},[105,134,135],{},"Connect the GitHub repo so 42flows can add content files and let your deploy pipeline publish them.",[105,137,138],{},[18,139,141],{"href":140},"\u002Fnuxt","Nuxt setup guides",[87,143,144,147,150],{},[105,145,146],{},"Next.js, Astro, SvelteKit, Rails, Laravel, Django, custom CMS",[105,148,149],{},"Add one secure webhook endpoint. Your app saves the article and returns the final public URL.",[105,151,152],{},[18,153,155],{"href":154},"\u002Fdocs\u002Fintegrations\u002Fwebhook","Universal webhook integration",[14,157,158,159,163],{},"For the full side-by-side view, see ",[18,160,162],{"href":161},"\u002Fdocs\u002Fintegrations\u002Fplatform-capabilities","what each website connection can do",".",[76,165,167],{"id":166},"what-42flows-needs","What 42flows needs",[14,169,170],{},"42flows needs four things from any website integration:",[172,173,174,178,181,184],"ol",{},[175,176,177],"li",{},"A safe way to send or write the content.",[175,179,180],{},"A public URL where the finished page will live.",[175,182,183],{},"A way to confirm the page is reachable after publishing.",[175,185,186],{},"A stable rule for updates, usually the article slug or the file path.",[14,188,189],{},"That is why the right path depends on the website stack. A WordPress site can accept posts through WordPress. A Shopify store can accept blog articles through Shopify. A Nuxt site can publish from Git. A custom app should receive a webhook and decide how to store the article.",[76,191,193],{"id":192},"docs-in-this-section","Docs in this section",[195,196,197,204,211,216,221],"ul",{},[175,198,199,203],{},[18,200,202],{"href":201},"\u002Fdocs\u002Fintegrations\u002Fwebsite-content-lifecycle","Website content lifecycle",": what happens from connection to publish, verification, and updates.",[175,205,206,210],{},[18,207,209],{"href":208},"\u002Fdocs\u002Fintegrations\u002Fgithub-nuxt-content","GitHub and Nuxt Content integration",": how GitHub-backed publishing works for Nuxt Content sites.",[175,212,213,215],{},[18,214,155],{"href":154},": the recommended path for Next.js and custom websites.",[175,217,218,220],{},[18,219,128],{"href":127},": how Shopify blog publishing works.",[175,222,223,226],{},[18,224,225],{"href":161},"Platform capability matrix",": a plain-language comparison of all paths.",[76,228,230],{"id":229},"wordpress-and-nuxt-already-have-setup-hubs","WordPress and Nuxt already have setup hubs",[14,232,233,234,236,237,163],{},"If the customer is on WordPress, use the ",[18,235,115],{"href":114}," and the ",[18,238,240],{"href":239},"\u002Ffeatures\u002Fwordpress-publishing","WordPress publishing feature page",[14,242,243,244,246,247,251,252,163],{},"If the customer is on Nuxt Content, use the ",[18,245,141],{"href":140},", especially ",[18,248,250],{"href":249},"\u002Fnuxt\u002Fconnect-via-github-app","Connect your Nuxt site via the GitHub App",", and the ",[18,253,255],{"href":254},"\u002Ffeatures\u002Fnuxt-content-publishing","Nuxt Content publishing feature page",[76,257,259],{"id":258},"rule-of-thumb-for-nextjs","Rule of thumb for Next.js",[14,261,262],{},"For a normal Next.js app, use the webhook.",[14,264,265],{},"Use GitHub delivery for Next.js only if the app already has a file-backed content system that can render the files 42flows writes. If the app uses a database, headless CMS, ISR, or custom routing, the webhook is cleaner because the app stays in charge of storage, revalidation, and caching.",[76,267,269],{"id":268},"security-model","Security model",[14,271,272],{},"Each path uses a scoped credential:",[81,274,275,285],{},[84,276,277],{},[87,278,279,282],{},[90,280,281],{},"Website path",[90,283,284],{},"Credential",[100,286,287,294,301,309,317],{},[87,288,289,291],{},[105,290,46],{},[105,292,293],{},"WordPress Application Password for a user who can publish or edit posts.",[87,295,296,298],{},[105,297,55],{},[105,299,300],{},"Shopify store access granted during connection.",[87,302,303,306],{},[105,304,305],{},"GitHub\u002FNuxt Content",[105,307,308],{},"GitHub App access to the selected repository.",[87,310,311,314],{},[105,312,313],{},"Nuxt direct receiver",[105,315,316],{},"Bearer token for the receiver endpoints.",[87,318,319,321],{},[105,320,71],{},[105,322,323],{},"Bearer token for the customer-owned HTTPS endpoint.",[14,325,326],{},"Webhook setup shows the token once so the customer or their developer can put it in the website environment.",{"title":328,"searchDepth":329,"depth":329,"links":330},"",2,[331,332,333,334,335,336],{"id":78,"depth":329,"text":79},{"id":166,"depth":329,"text":167},{"id":192,"depth":329,"text":193},{"id":229,"depth":329,"text":230},{"id":258,"depth":329,"text":259},{"id":268,"depth":329,"text":269},"How 42flows connects to website-owning customers across WordPress, Shopify, Nuxt Content, GitHub, and universal webhooks.","md",{},true,20,"\u002Fdocs\u002Fintegrations",{"title":5,"description":337},"docs\u002Fintegrations\u002Findex","Choose the right publishing path for a website customer and understand what 42flows needs from each stack.","FqQgVTJeDOL8Dwm7BfYLJVk7NnprvkwCn8zuiY1Sa4Q"]