{"id":408,"date":"2022-04-04T16:08:48","date_gmt":"2022-04-04T22:08:48","guid":{"rendered":"https:\/\/developers.wpengine.com\/blog\/?p=408"},"modified":"2023-08-21T11:50:13","modified_gmt":"2023-08-21T16:50:13","slug":"headless-wordpress-tech-stack-options","status":"publish","type":"post","link":"https:\/\/wpengine.com\/builders\/headless-wordpress-tech-stack-options\/","title":{"rendered":"Headless WordPress Tech Stack Options"},"content":{"rendered":"\n<p>A headless WordPress architecture disconnects the frontend from the backend, which opens up many possibilities for the technologies that a developer can use to build the client. The WordPress backend serves platform-agnostic JSON data that can be used to create multiple web apps, iOS or Android apps, desktop apps, content management tools, etc; the possibilities are endless! However, this leaves you as the developer with many more choices to make. To build a standard headless WordPress web app, a developer will need to select an API layer (WPGraphQL or the WordPress REST API), choose from an ever-growing list of frontend JavaScript frameworks, potentially add a solution for building content models, and decide on a hosting platform. The flexibility of the tech stack options for headless WordPress can feel intimidating! Let&#8217;s break down these choices and give recommendations on what WP Engine\u2019s Developer Relations team feels to be the \u201chappy path\u201d for headless WordPress developers.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">API Layer<\/h2>\n\n\n\n<p>The interaction between the WordPress backend and the custom frontend framework happens through the API layer. The API layer will call the content from the WordPress backend and push it to whatever frontend technology the developer chooses. The two options for the API layer are the <a href=\"https:\/\/developer.wordpress.org\/rest-api\/\" target=\"_blank\" rel=\"noreferrer noopener\">WordPress REST API<\/a> or <a href=\"https:\/\/www.wpgraphql.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">WPGraphQL<\/a>.<\/p>\n\n\n\n<p>The REST API comes bundled with WordPress, however, the data access pattern that it requires can be slow for the developer because it requires multiple round trips to reconstruct a fully modeled post, for example. REST requires each resource to have its own endpoint, so to get a post with the author and category would be three separate API calls. In contrast, WPGraphQL allows us to ask for a post with the author and category all in one request. Because of this, WPGraphQL is our preferred API layer. WPGraphQL is a free plugin that provides an extendable GraphQL schema and API for your WordPress site. WPGraphQL is faster than the REST API because it gets the exact data that is asked for as well as fewer functions executing through query optimization, less data downloading, more efficient data loading, and multiple resources included in a single request. For more information, watch <a href=\"https:\/\/www.youtube.com\/watch?v=o-7-_oLq23c\" target=\"_blank\" rel=\"noreferrer noopener\">this in-depth comparison of WPGraphQL and the WordPress REST API<\/a>.<\/p>\n\n\n\n<p><strong>Our recommendation:<\/strong> <a href=\"https:\/\/www.wpgraphql.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">WPGraphQL<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">JavaScript Frameworks<\/h2>\n\n\n\n<p>A headless architecture gives developers the freedom to choose from any frontend technology stack, with frontend JavaScript frameworks being the most popular. Some of the most popular frontend JavaScript frameworks include <a href=\"https:\/\/reactjs.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">React<\/a>, <a href=\"https:\/\/vuejs.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">Vue.js<\/a>, <a href=\"https:\/\/svelte.dev\/\" target=\"_blank\" rel=\"noreferrer noopener\">Svelte<\/a>, and <a href=\"https:\/\/angular.io\/\" target=\"_blank\" rel=\"noreferrer noopener\">Angular<\/a>. New JavaScript frameworks are being released all the time, so this list is nowhere near comprehensive.<\/p>\n\n\n\n<p>Many JavaScript frameworks are used in conjunction with meta-frameworks that add solutions for routing, server-side rendering, etc. React is used in conjunction with <a href=\"https:\/\/nextjs.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">Next.js<\/a>, Vue.js is used in conjunction with <a href=\"https:\/\/nuxtjs.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">Nuxt.js<\/a>, and Svelte is used in conjunction with <a href=\"https:\/\/kit.svelte.dev\/\" target=\"_blank\" rel=\"noreferrer noopener\">SvelteKit<\/a>. <a href=\"https:\/\/www.gatsbyjs.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Gatsby<\/a> is another popular meta-framework.<\/p>\n\n\n\n<p>WP Engine has developed <a href=\"https:\/\/faustjs.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">Faust.js<\/a>, a JavaScript framework built on top of React and Next.js. Faust.js was created specifically to support headless WordPress web applications. It supports authentication and post previews out of the box, provides convenient built-in React hooks for accessing WordPress data, and more.<\/p>\n\n\n\n<p><strong>Our recommendation:<\/strong> <a href=\"https:\/\/faustjs.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">Faust.js<\/a>, used in conjunction with <a href=\"https:\/\/reactjs.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">React<\/a> and <a href=\"https:\/\/nextjs.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">Next.js<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Content Modeling Tool<\/h2>\n\n\n\n<p>When developing your headless web application, you may find that you need to add extra content fields or post types. The <a href=\"https:\/\/wordpress.org\/plugins\/atlas-content-modeler\/\"><\/a><a href=\"https:\/\/www.advancedcustomfields.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Advanced Custom Fields plugin<\/a> allows developers to easily create custom content models and custom fields.<\/p>\n\n\n\n<p>You will also need to install the <a href=\"https:\/\/github.com\/wp-graphql\/wpgraphql-acf\/releases\">WPGraphQL for ACF plugin<\/a> if you want to use WPGraphQL as your API layer. This plugin is a WPGraphQL extension that exposes ACF data via the WPGraphQL schema. It is not yet available in the WordPress Plugin repository, so you have to download the ZIP file from the Github repository and upload it manually onto your WordPress site. Developers can then start querying for their data immediately.<\/p>\n\n\n\n<p><strong>Our recommendation:<\/strong> <a href=\"https:\/\/www.advancedcustomfields.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Advanced Custom Fields<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Plugins<\/h2>\n\n\n\n<p>When using WordPress, there are always tons of options for what plugins are available. The general rule for headless WordPress is that as long as a plugin does not touch the frontend of the WordPress site then it will work normally.<\/p>\n\n\n\n<p>Good candidates for headless plugins will usually work well with WPGraphQL. Check out <a href=\"https:\/\/www.wpgraphql.com\/extensions\/\" target=\"_blank\" rel=\"noreferrer noopener\">this list of WPGraphQL extension plugins<\/a>. For more options, check out <a href=\"https:\/\/wordpress.org\/plugins\/tags\/headless\/\" target=\"_blank\" rel=\"noreferrer noopener\">this list of plugins tagged as &#8216;headless&#8217; in the WordPress plugin repository<\/a>.<\/p>\n\n\n\n<p>The <a href=\"https:\/\/wordpress.org\/plugins\/faustwp\/\" target=\"_blank\" rel=\"noreferrer noopener\">Faust.js<\/a> plugin ensures that your WordPress site runs smoothly as a headless CMS. This includes things like smart content redirects and enabling post previews.<\/p>\n\n\n\n<p><strong>Our recommendation: <\/strong><a href=\"https:\/\/wordpress.org\/plugins\/faustwp\/\" target=\"_blank\" rel=\"noreferrer noopener\">Faust.js<\/a> and whatever else you need!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Hosting Platform<\/h2>\n\n\n\n<p>Since the frontend and the backend are separate in headless WordPress, you would generally have to host each separately and configure them to communicate. <a href=\"https:\/\/wpengine.com\/atlas\/\" target=\"_blank\" rel=\"noreferrer noopener\">Atlas<\/a> is the only platform on which you can host both your headless WordPress backend and your JavaScript frontend app and easily manage both from a single dashboard.<\/p>\n\n\n\n<p><strong>Our recommendation:<\/strong> <a href=\"https:\/\/wpengine.com\/atlas\/\" target=\"_blank\" rel=\"noreferrer noopener\">Atlas<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What&#8217;s Next?<\/h2>\n\n\n\n<p>The flexibility of tech stack options is one of the major benefits of headless WordPress for a developer! While the decisions can feel intimidating at first, hopefully, this blog post has helped you make educated choices about what you&#8217;re building!<\/p>\n\n\n\n<p>Stay tuned for our next blog post to walk through building a simple headless WordPress app with Next.js &amp; WPGraphQL!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A headless WordPress architecture disconnects the frontend from the backend, which opens up many possibilities for the technologies that a developer can use to build the client. The WordPress backend [&hellip;]<\/p>\n","protected":false},"author":21,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_EventAllDay":false,"_EventTimezone":"","_EventStartDate":"","_EventEndDate":"","_EventStartDateUTC":"","_EventEndDateUTC":"","_EventShowMap":false,"_EventShowMapLink":false,"_EventURL":"","_EventCost":"","_EventCostDescription":"","_EventCurrencySymbol":"","_EventCurrencyCode":"","_EventCurrencyPosition":"","_EventDateTimeSeparator":"","_EventTimeRangeSeparator":"","_EventOrganizerID":[],"_EventVenueID":[],"_OrganizerEmail":"","_OrganizerPhone":"","_OrganizerWebsite":"","_VenueAddress":"","_VenueCity":"","_VenueCountry":"","_VenueProvince":"","_VenueState":"","_VenueZip":"","_VenuePhone":"","_VenueURL":"","_VenueStateProvince":"","_VenueLat":"","_VenueLng":"","_VenueShowMap":false,"_VenueShowMapLink":false,"footnotes":""},"categories":[23],"tags":[],"class_list":["post-408","post","type-post","status-publish","format-standard","hentry","category-headless"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Headless WordPress Tech Stack Options - Builders<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wpengine.com\/builders\/headless-wordpress-tech-stack-options\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Headless WordPress Tech Stack Options - Builders\" \/>\n<meta property=\"og:description\" content=\"A headless WordPress architecture disconnects the frontend from the backend, which opens up many possibilities for the technologies that a developer can use to build the client. The WordPress backend [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wpengine.com\/builders\/headless-wordpress-tech-stack-options\/\" \/>\n<meta property=\"og:site_name\" content=\"Builders\" \/>\n<meta property=\"article:published_time\" content=\"2022-04-04T22:08:48+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-08-21T16:50:13+00:00\" \/>\n<meta name=\"author\" content=\"Grace Erixon\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@wpebuilders\" \/>\n<meta name=\"twitter:site\" content=\"@wpebuilders\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Grace Erixon\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/headless-wordpress-tech-stack-options\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/headless-wordpress-tech-stack-options\\\/\"},\"author\":{\"name\":\"Grace Erixon\",\"@id\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/#\\\/schema\\\/person\\\/238dfb380aff5f2c58b8572d0b661deb\"},\"headline\":\"Headless WordPress Tech Stack Options\",\"datePublished\":\"2022-04-04T22:08:48+00:00\",\"dateModified\":\"2023-08-21T16:50:13+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/headless-wordpress-tech-stack-options\\\/\"},\"wordCount\":893,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/#organization\"},\"articleSection\":[\"Headless\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/wpengine.com\\\/builders\\\/headless-wordpress-tech-stack-options\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/headless-wordpress-tech-stack-options\\\/\",\"url\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/headless-wordpress-tech-stack-options\\\/\",\"name\":\"Headless WordPress Tech Stack Options - Builders\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/#website\"},\"datePublished\":\"2022-04-04T22:08:48+00:00\",\"dateModified\":\"2023-08-21T16:50:13+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/headless-wordpress-tech-stack-options\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/wpengine.com\\\/builders\\\/headless-wordpress-tech-stack-options\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/headless-wordpress-tech-stack-options\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Headless WordPress Tech Stack Options\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/#website\",\"url\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/\",\"name\":\"Builders\",\"description\":\"Reimagining the way we build with WordPress.\",\"publisher\":{\"@id\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/#organization\",\"name\":\"WP Engine\",\"url\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/WP-Engine-Horizontal@2x.png\",\"contentUrl\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/WP-Engine-Horizontal@2x.png\",\"width\":348,\"height\":68,\"caption\":\"WP Engine\"},\"image\":{\"@id\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/x.com\\\/wpebuilders\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCh1WuL54XFb9ZI6m6goFv1g\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/#\\\/schema\\\/person\\\/238dfb380aff5f2c58b8572d0b661deb\",\"name\":\"Grace Erixon\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/85b32abfcbc7a3028fc8a4d3f0f299333783fc24197648f25e75661c9e1a8a97?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/85b32abfcbc7a3028fc8a4d3f0f299333783fc24197648f25e75661c9e1a8a97?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/85b32abfcbc7a3028fc8a4d3f0f299333783fc24197648f25e75661c9e1a8a97?s=96&d=mm&r=g\",\"caption\":\"Grace Erixon\"},\"description\":\"Grace Erixon is a Developer Advocate at WP Engine. She has been developing with headless WordPress since 2021. Connect with her on the Headless WordPress Discord community, Twitter, or LinkedIn.\",\"url\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/author\\\/grace-erixonwpengine-com\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Headless WordPress Tech Stack Options - Builders","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/wpengine.com\/builders\/headless-wordpress-tech-stack-options\/","og_locale":"en_US","og_type":"article","og_title":"Headless WordPress Tech Stack Options - Builders","og_description":"A headless WordPress architecture disconnects the frontend from the backend, which opens up many possibilities for the technologies that a developer can use to build the client. The WordPress backend [&hellip;]","og_url":"https:\/\/wpengine.com\/builders\/headless-wordpress-tech-stack-options\/","og_site_name":"Builders","article_published_time":"2022-04-04T22:08:48+00:00","article_modified_time":"2023-08-21T16:50:13+00:00","author":"Grace Erixon","twitter_card":"summary_large_image","twitter_creator":"@wpebuilders","twitter_site":"@wpebuilders","twitter_misc":{"Written by":"Grace Erixon","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/wpengine.com\/builders\/headless-wordpress-tech-stack-options\/#article","isPartOf":{"@id":"https:\/\/wpengine.com\/builders\/headless-wordpress-tech-stack-options\/"},"author":{"name":"Grace Erixon","@id":"https:\/\/wpengine.com\/builders\/#\/schema\/person\/238dfb380aff5f2c58b8572d0b661deb"},"headline":"Headless WordPress Tech Stack Options","datePublished":"2022-04-04T22:08:48+00:00","dateModified":"2023-08-21T16:50:13+00:00","mainEntityOfPage":{"@id":"https:\/\/wpengine.com\/builders\/headless-wordpress-tech-stack-options\/"},"wordCount":893,"commentCount":0,"publisher":{"@id":"https:\/\/wpengine.com\/builders\/#organization"},"articleSection":["Headless"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/wpengine.com\/builders\/headless-wordpress-tech-stack-options\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/wpengine.com\/builders\/headless-wordpress-tech-stack-options\/","url":"https:\/\/wpengine.com\/builders\/headless-wordpress-tech-stack-options\/","name":"Headless WordPress Tech Stack Options - Builders","isPartOf":{"@id":"https:\/\/wpengine.com\/builders\/#website"},"datePublished":"2022-04-04T22:08:48+00:00","dateModified":"2023-08-21T16:50:13+00:00","breadcrumb":{"@id":"https:\/\/wpengine.com\/builders\/headless-wordpress-tech-stack-options\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wpengine.com\/builders\/headless-wordpress-tech-stack-options\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/wpengine.com\/builders\/headless-wordpress-tech-stack-options\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/wpengine.com\/builders\/"},{"@type":"ListItem","position":2,"name":"Headless WordPress Tech Stack Options"}]},{"@type":"WebSite","@id":"https:\/\/wpengine.com\/builders\/#website","url":"https:\/\/wpengine.com\/builders\/","name":"Builders","description":"Reimagining the way we build with WordPress.","publisher":{"@id":"https:\/\/wpengine.com\/builders\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wpengine.com\/builders\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/wpengine.com\/builders\/#organization","name":"WP Engine","url":"https:\/\/wpengine.com\/builders\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/wpengine.com\/builders\/#\/schema\/logo\/image\/","url":"https:\/\/wpengine.com\/builders\/wp-content\/uploads\/2024\/05\/WP-Engine-Horizontal@2x.png","contentUrl":"https:\/\/wpengine.com\/builders\/wp-content\/uploads\/2024\/05\/WP-Engine-Horizontal@2x.png","width":348,"height":68,"caption":"WP Engine"},"image":{"@id":"https:\/\/wpengine.com\/builders\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/wpebuilders","https:\/\/www.youtube.com\/channel\/UCh1WuL54XFb9ZI6m6goFv1g"]},{"@type":"Person","@id":"https:\/\/wpengine.com\/builders\/#\/schema\/person\/238dfb380aff5f2c58b8572d0b661deb","name":"Grace Erixon","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/85b32abfcbc7a3028fc8a4d3f0f299333783fc24197648f25e75661c9e1a8a97?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/85b32abfcbc7a3028fc8a4d3f0f299333783fc24197648f25e75661c9e1a8a97?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/85b32abfcbc7a3028fc8a4d3f0f299333783fc24197648f25e75661c9e1a8a97?s=96&d=mm&r=g","caption":"Grace Erixon"},"description":"Grace Erixon is a Developer Advocate at WP Engine. She has been developing with headless WordPress since 2021. Connect with her on the Headless WordPress Discord community, Twitter, or LinkedIn.","url":"https:\/\/wpengine.com\/builders\/author\/grace-erixonwpengine-com\/"}]}},"_links":{"self":[{"href":"https:\/\/wpengine.com\/builders\/wp-json\/wp\/v2\/posts\/408","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wpengine.com\/builders\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wpengine.com\/builders\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wpengine.com\/builders\/wp-json\/wp\/v2\/users\/21"}],"replies":[{"embeddable":true,"href":"https:\/\/wpengine.com\/builders\/wp-json\/wp\/v2\/comments?post=408"}],"version-history":[{"count":0,"href":"https:\/\/wpengine.com\/builders\/wp-json\/wp\/v2\/posts\/408\/revisions"}],"wp:attachment":[{"href":"https:\/\/wpengine.com\/builders\/wp-json\/wp\/v2\/media?parent=408"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wpengine.com\/builders\/wp-json\/wp\/v2\/categories?post=408"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wpengine.com\/builders\/wp-json\/wp\/v2\/tags?post=408"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}