{"id":1082,"date":"2026-06-14T12:33:17","date_gmt":"2026-06-14T12:33:17","guid":{"rendered":"https:\/\/ruby-doc.org\/blog\/?p=1082"},"modified":"2026-06-14T12:34:56","modified_gmt":"2026-06-14T12:34:56","slug":"why-every-web-application-needs-a-public-status-page","status":"publish","type":"post","link":"https:\/\/ruby-doc.org\/blog\/why-every-web-application-needs-a-public-status-page\/","title":{"rendered":"Why Every Web Application Needs a Public Status Page"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">When a web application goes down, users notice before the team does. They refresh, try a different browser, check their own connection, and then start looking for answers. If there&#8217;s nowhere official to look, they fill the void themselves with tweets, Reddit threads, and support tickets all asking &#8220;is it just me?&#8221;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A public status page gives users a single place to check. The concept isn&#8217;t complicated, but the second-order effects on trust, support load, and incident response are larger than most teams expect when they first set one up.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What a status page actually does<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">At its core, a status page answers one question: is the service working right now? It breaks the application into components <a href=\"https:\/\/aws.amazon.com\/what-is\/api\/\">like the API<\/a>, dashboard, billing, and webhooks, and shows the current state of each one. When something breaks, it shows a timeline of what happened, when it started, and what the team is doing about it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That&#8217;s the baseline. A good one also lets users subscribe to updates by email or webhook, shows a history of past incidents so patterns are visible, and displays scheduled maintenance windows so users aren&#8217;t caught off guard by planned downtime.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Why posting on Twitter during an outage doesn&#8217;t work<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The instinct during an outage is to post a quick update on social media and get back to fixing the problem. This fails in a few ways that aren&#8217;t obvious until you&#8217;re in the middle of it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You don&#8217;t control the platform. Twitter&#8217;s <a href=\"https:\/\/www.bbc.co.uk\/news\/business-67783058\">own outages<\/a>, algorithmic feeds, and rate limits mean your update might not reach the people who need it. There&#8217;s also no structured history \u2014 a tweet from three hours ago is buried under replies and unrelated noise, and a user who comes looking an hour later can&#8217;t reconstruct the timeline. On top of that, search doesn&#8217;t help. Nobody googles &#8220;is [your app] down&#8221; and lands on your tweet. They land on third-party &#8220;is it down&#8221; sites that scrape and speculate, or they find nothing at all.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A status page becomes the canonical answer. It&#8217;s what Google surfaces, what your docs can link to, and what your support team can point users toward instead of writing the same reply forty times during an incident.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What separates a useful status page from one that sits empty<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Not all status pages build trust. Some actively damage it \u2014 a page that says &#8220;all systems operational&#8221; while users are clearly experiencing failures is worse than having no page. The ones that actually reduce user anxiety during an incident tend to share a few things.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">They show status at the component level rather than as a single binary. If the API is down but the dashboard still works, the page says so, and users who only rely on the dashboard can stop worrying. They update honestly during incidents, even when the update is just &#8220;we identified the cause and are still working on a fix.&#8221; The cadence of updates matters more than the polish of the prose \u2014 silence is what erodes trust, not imperfect wording.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">They also show historical uptime. This does something counterintuitive: a service that shows 99.95% uptime over three months, including one visible 20-minute incident with a clear resolution, looks more trustworthy than a service that claims 100% with no evidence. Transparency signals competence because it shows the team has nothing to hide.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And they announce maintenance in advance with subscriber notifications, which is the single cheapest way to eliminate the &#8220;is it down?&#8221; support tickets that pile up during planned work.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Status pages as a buying signal in B2B<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">For B2B products especially, a public status page has become something procurement teams and security reviewers check during evaluation. Its absence raises questions about operational maturity. Its presence, especially with honest historical data and resolved incidents on record, short-circuits an entire category of due-diligence objections before they&#8217;re even raised.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is why companies ranging from early-stage startups to large infrastructure providers publish status pages even when their uptime is already excellent. The page isn&#8217;t an admission that things break. It&#8217;s a statement that when they do, the team communicates clearly and resolves quickly.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Setting one up without building it from scratch<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">You can build a status page yourself, but it&#8217;s the same trap as building your own monitoring: the first version takes a weekend, and then you&#8217;re maintaining subscription delivery, component management, incident state machines, embed widgets, and custom domain SSL forever.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The faster path is a hosted status page that connects to your existing monitoring so incidents flow into public updates without a manual copy-paste step in between.&nbsp;<a href=\"https:\/\/devhelm.io\/\">DevHelm<\/a>&nbsp;is one service that bundles status pages with uptime monitoring this way \u2014 checks detect the problem, the status page reflects it, and subscribers get notified, all without someone on the team having to context-switch away from actually fixing things.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A public status page costs almost nothing to stand up and pays for itself the first time something breaks. It cuts support volume during incidents, builds long-term trust with users, shortens the communication loop when things go wrong, and quietly signals to prospective customers that the team behind the product takes reliability seriously. If your application has users who depend on it being up, they deserve a place to check that isn&#8217;t a third-party guessing site or your social media feed.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>When a web application goes down, users notice before the team does. They refresh, try a different browser, check their own connection, and then start looking for answers. If there&#8217;s nowhere official to look, they fill the void themselves with tweets, Reddit threads, and support tickets all asking &#8220;is it just me?&#8221; A public status [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":1085,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[18],"tags":[],"class_list":["post-1082","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tech"],"blocksy_meta":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Why Every Web Application Needs a Public Status Page - Ruby-Doc.org<\/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:\/\/ruby-doc.org\/blog\/why-every-web-application-needs-a-public-status-page\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Why Every Web Application Needs a Public Status Page - Ruby-Doc.org\" \/>\n<meta property=\"og:description\" content=\"When a web application goes down, users notice before the team does. They refresh, try a different browser, check their own connection, and then start looking for answers. If there&#8217;s nowhere official to look, they fill the void themselves with tweets, Reddit threads, and support tickets all asking &#8220;is it just me?&#8221; A public status [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/ruby-doc.org\/blog\/why-every-web-application-needs-a-public-status-page\/\" \/>\n<meta property=\"og:site_name\" content=\"Ruby-Doc.org\" \/>\n<meta property=\"article:published_time\" content=\"2026-06-14T12:33:17+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-14T12:34:56+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/ruby-doc.org\/blog\/wp-content\/uploads\/2026\/06\/Why-Every-Web-Application-Needs-a-Public-Status-Page.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1536\" \/>\n\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Ryan McGregor\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ryan McGregor\" \/>\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:\\\/\\\/ruby-doc.org\\\/blog\\\/why-every-web-application-needs-a-public-status-page\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/why-every-web-application-needs-a-public-status-page\\\/\"},\"author\":{\"name\":\"Ryan McGregor\",\"@id\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/#\\\/schema\\\/person\\\/db7fcc3c518c40f29f8bf79ffa678dfc\"},\"headline\":\"Why Every Web Application Needs a Public Status Page\",\"datePublished\":\"2026-06-14T12:33:17+00:00\",\"dateModified\":\"2026-06-14T12:34:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/why-every-web-application-needs-a-public-status-page\\\/\"},\"wordCount\":912,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/why-every-web-application-needs-a-public-status-page\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/Why-Every-Web-Application-Needs-a-Public-Status-Page.png\",\"articleSection\":[\"Tech\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/why-every-web-application-needs-a-public-status-page\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/why-every-web-application-needs-a-public-status-page\\\/\",\"url\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/why-every-web-application-needs-a-public-status-page\\\/\",\"name\":\"Why Every Web Application Needs a Public Status Page - Ruby-Doc.org\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/why-every-web-application-needs-a-public-status-page\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/why-every-web-application-needs-a-public-status-page\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/Why-Every-Web-Application-Needs-a-Public-Status-Page.png\",\"datePublished\":\"2026-06-14T12:33:17+00:00\",\"dateModified\":\"2026-06-14T12:34:56+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/why-every-web-application-needs-a-public-status-page\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/why-every-web-application-needs-a-public-status-page\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/why-every-web-application-needs-a-public-status-page\\\/#primaryimage\",\"url\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/Why-Every-Web-Application-Needs-a-Public-Status-Page.png\",\"contentUrl\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/Why-Every-Web-Application-Needs-a-Public-Status-Page.png\",\"width\":1536,\"height\":1024},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/why-every-web-application-needs-a-public-status-page\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Why Every Web Application Needs a Public Status Page\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/\",\"name\":\"Ruby-Doc.org\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/#organization\",\"name\":\"Ruby-Doc.org\",\"url\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/Ruby-Doc.org_logo_cropped.png\",\"contentUrl\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/Ruby-Doc.org_logo_cropped.png\",\"width\":909,\"height\":833,\"caption\":\"Ruby-Doc.org\"},\"image\":{\"@id\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/#\\\/schema\\\/person\\\/db7fcc3c518c40f29f8bf79ffa678dfc\",\"name\":\"Ryan McGregor\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f7b4d11da7f55d40163cd9431935ce1148d9bd69c95928064822f7757b6314dd?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f7b4d11da7f55d40163cd9431935ce1148d9bd69c95928064822f7757b6314dd?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f7b4d11da7f55d40163cd9431935ce1148d9bd69c95928064822f7757b6314dd?s=96&d=mm&r=g\",\"caption\":\"Ryan McGregor\"},\"url\":\"https:\\\/\\\/ruby-doc.org\\\/blog\\\/author\\\/ryan\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Why Every Web Application Needs a Public Status Page - Ruby-Doc.org","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:\/\/ruby-doc.org\/blog\/why-every-web-application-needs-a-public-status-page\/","og_locale":"en_US","og_type":"article","og_title":"Why Every Web Application Needs a Public Status Page - Ruby-Doc.org","og_description":"When a web application goes down, users notice before the team does. They refresh, try a different browser, check their own connection, and then start looking for answers. If there&#8217;s nowhere official to look, they fill the void themselves with tweets, Reddit threads, and support tickets all asking &#8220;is it just me?&#8221; A public status [&hellip;]","og_url":"https:\/\/ruby-doc.org\/blog\/why-every-web-application-needs-a-public-status-page\/","og_site_name":"Ruby-Doc.org","article_published_time":"2026-06-14T12:33:17+00:00","article_modified_time":"2026-06-14T12:34:56+00:00","og_image":[{"width":1536,"height":1024,"url":"https:\/\/ruby-doc.org\/blog\/wp-content\/uploads\/2026\/06\/Why-Every-Web-Application-Needs-a-Public-Status-Page.png","type":"image\/png"}],"author":"Ryan McGregor","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Ryan McGregor","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/ruby-doc.org\/blog\/why-every-web-application-needs-a-public-status-page\/#article","isPartOf":{"@id":"https:\/\/ruby-doc.org\/blog\/why-every-web-application-needs-a-public-status-page\/"},"author":{"name":"Ryan McGregor","@id":"https:\/\/ruby-doc.org\/blog\/#\/schema\/person\/db7fcc3c518c40f29f8bf79ffa678dfc"},"headline":"Why Every Web Application Needs a Public Status Page","datePublished":"2026-06-14T12:33:17+00:00","dateModified":"2026-06-14T12:34:56+00:00","mainEntityOfPage":{"@id":"https:\/\/ruby-doc.org\/blog\/why-every-web-application-needs-a-public-status-page\/"},"wordCount":912,"commentCount":0,"publisher":{"@id":"https:\/\/ruby-doc.org\/blog\/#organization"},"image":{"@id":"https:\/\/ruby-doc.org\/blog\/why-every-web-application-needs-a-public-status-page\/#primaryimage"},"thumbnailUrl":"https:\/\/ruby-doc.org\/blog\/wp-content\/uploads\/2026\/06\/Why-Every-Web-Application-Needs-a-Public-Status-Page.png","articleSection":["Tech"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/ruby-doc.org\/blog\/why-every-web-application-needs-a-public-status-page\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/ruby-doc.org\/blog\/why-every-web-application-needs-a-public-status-page\/","url":"https:\/\/ruby-doc.org\/blog\/why-every-web-application-needs-a-public-status-page\/","name":"Why Every Web Application Needs a Public Status Page - Ruby-Doc.org","isPartOf":{"@id":"https:\/\/ruby-doc.org\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/ruby-doc.org\/blog\/why-every-web-application-needs-a-public-status-page\/#primaryimage"},"image":{"@id":"https:\/\/ruby-doc.org\/blog\/why-every-web-application-needs-a-public-status-page\/#primaryimage"},"thumbnailUrl":"https:\/\/ruby-doc.org\/blog\/wp-content\/uploads\/2026\/06\/Why-Every-Web-Application-Needs-a-Public-Status-Page.png","datePublished":"2026-06-14T12:33:17+00:00","dateModified":"2026-06-14T12:34:56+00:00","breadcrumb":{"@id":"https:\/\/ruby-doc.org\/blog\/why-every-web-application-needs-a-public-status-page\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/ruby-doc.org\/blog\/why-every-web-application-needs-a-public-status-page\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ruby-doc.org\/blog\/why-every-web-application-needs-a-public-status-page\/#primaryimage","url":"https:\/\/ruby-doc.org\/blog\/wp-content\/uploads\/2026\/06\/Why-Every-Web-Application-Needs-a-Public-Status-Page.png","contentUrl":"https:\/\/ruby-doc.org\/blog\/wp-content\/uploads\/2026\/06\/Why-Every-Web-Application-Needs-a-Public-Status-Page.png","width":1536,"height":1024},{"@type":"BreadcrumbList","@id":"https:\/\/ruby-doc.org\/blog\/why-every-web-application-needs-a-public-status-page\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/ruby-doc.org\/blog\/"},{"@type":"ListItem","position":2,"name":"Why Every Web Application Needs a Public Status Page"}]},{"@type":"WebSite","@id":"https:\/\/ruby-doc.org\/blog\/#website","url":"https:\/\/ruby-doc.org\/blog\/","name":"Ruby-Doc.org","description":"","publisher":{"@id":"https:\/\/ruby-doc.org\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/ruby-doc.org\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/ruby-doc.org\/blog\/#organization","name":"Ruby-Doc.org","url":"https:\/\/ruby-doc.org\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ruby-doc.org\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/ruby-doc.org\/blog\/wp-content\/uploads\/2025\/07\/Ruby-Doc.org_logo_cropped.png","contentUrl":"https:\/\/ruby-doc.org\/blog\/wp-content\/uploads\/2025\/07\/Ruby-Doc.org_logo_cropped.png","width":909,"height":833,"caption":"Ruby-Doc.org"},"image":{"@id":"https:\/\/ruby-doc.org\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/ruby-doc.org\/blog\/#\/schema\/person\/db7fcc3c518c40f29f8bf79ffa678dfc","name":"Ryan McGregor","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/f7b4d11da7f55d40163cd9431935ce1148d9bd69c95928064822f7757b6314dd?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/f7b4d11da7f55d40163cd9431935ce1148d9bd69c95928064822f7757b6314dd?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f7b4d11da7f55d40163cd9431935ce1148d9bd69c95928064822f7757b6314dd?s=96&d=mm&r=g","caption":"Ryan McGregor"},"url":"https:\/\/ruby-doc.org\/blog\/author\/ryan\/"}]}},"_links":{"self":[{"href":"https:\/\/ruby-doc.org\/blog\/wp-json\/wp\/v2\/posts\/1082","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ruby-doc.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ruby-doc.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ruby-doc.org\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/ruby-doc.org\/blog\/wp-json\/wp\/v2\/comments?post=1082"}],"version-history":[{"count":2,"href":"https:\/\/ruby-doc.org\/blog\/wp-json\/wp\/v2\/posts\/1082\/revisions"}],"predecessor-version":[{"id":1084,"href":"https:\/\/ruby-doc.org\/blog\/wp-json\/wp\/v2\/posts\/1082\/revisions\/1084"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ruby-doc.org\/blog\/wp-json\/wp\/v2\/media\/1085"}],"wp:attachment":[{"href":"https:\/\/ruby-doc.org\/blog\/wp-json\/wp\/v2\/media?parent=1082"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ruby-doc.org\/blog\/wp-json\/wp\/v2\/categories?post=1082"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ruby-doc.org\/blog\/wp-json\/wp\/v2\/tags?post=1082"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}