{"id":37856,"date":"2022-05-25T15:00:15","date_gmt":"2022-05-25T13:00:15","guid":{"rendered":"https:\/\/qodeinteractive.com\/magazine\/?p=37856"},"modified":"2022-05-25T09:45:01","modified_gmt":"2022-05-25T07:45:01","slug":"what-is-wordpress-heartbeat-api","status":"publish","type":"post","link":"https:\/\/qodeinteractive.com\/magazine\/what-is-wordpress-heartbeat-api\/","title":{"rendered":"What is WordPress Heartbeat API and How to Manage it"},"content":{"rendered":"<div class=\"wpb-content-wrapper\"><p>[vc_row][vc_column][vc_column_text]The WordPress Heartbeat API is a feature introduced to WordPress in version 3.6 and has since provided near real-time communication between your server and your browser while you are logged in to your WordPress admin dashboard. This feature has <strong>helped developers connect to the web server quickly<\/strong>, which is why it has been used for numerous functionalities.[\/vc_column_text][vc_empty_space height=&#8221;28px&#8221;][vc_column_text]It works by sending ticks, i.e. \u201cpulse\u201d between the server and the browser in regular time intervals, most commonly 15 seconds. And, while it is undeniably useful,<strong> it can lead to high CPU usage on the server<\/strong>, especially if multiple admins are editing or running other tasks on your website. Of course, this <strong>can lead to website performance issues<\/strong>, especially if you are using shared hosting.[\/vc_column_text][vc_empty_space height=&#8221;28px&#8221;][vc_column_text]With that in mind, we have decided to compile this article, explaining more closely how you can manage the WordPress Heartbeat API. Specifically, we will be discussing what it is exactly and what to consider before limiting or completely disabling it, as well as how you can do it.[\/vc_column_text][vc_empty_space height=&#8221;28px&#8221;][vc_column_text]Here\u2019s what we\u2019ll be talking about in this article:<br \/>\n[\/vc_column_text][vc_empty_space height=&#8221;22px&#8221;]<ul class=\"qodef-unordered-list-item qodef-toc\">\n    <li>\n\t        <div class=\"qodef-ul-title-holder\">\n            <span class=\"qodef-ul-title-content\"><a href=\"#understanding-the-wordpress-heartbeat-api\">Understanding the WordPress Heartbeat API<\/a><\/span>        <\/div>\n            <\/li>\n<\/ul>[vc_empty_space height=&#8221;5px&#8221;]<ul class=\"qodef-unordered-list-item qodef-toc\">\n    <li>\n\t        <div class=\"qodef-ul-title-holder\">\n            <span class=\"qodef-ul-title-content\"><a href=\"#on-managing-the-wordpress-heartbeat-api\">On Managing the WordPress Heartbeat API<\/a><\/span>        <\/div>\n            <\/li>\n<\/ul>[vc_empty_space height=&#8221;5px&#8221;]<ul class=\"qodef-unordered-list-item qodef-toc\">\n    <li>\n\t        <div class=\"qodef-ul-title-holder\">\n            <span class=\"qodef-ul-title-content\"><a href=\"#how-to-limit-the-wordpress-heartbeat-api\">How to Limit the WordPress Heartbeat API<\/a><\/span>        <\/div>\n            <\/li>\n<\/ul>[vc_empty_space height=&#8221;5px&#8221;]<ul class=\"qodef-unordered-list-item qodef-toc\">\n    <li>\n\t        <div class=\"qodef-ul-title-holder\">\n            <span class=\"qodef-ul-title-content\"><a href=\"#how-to-disable-the-wordpress-heartbeat-api\">How to Disable the WordPress Heartbeat API<\/a><\/span>        <\/div>\n            <\/li>\n<\/ul>[vc_empty_space height=&#8221;5px&#8221;]<ul class=\"qodef-unordered-list-item qodef-toc\">\n    <li>\n\t        <div class=\"qodef-ul-title-holder\">\n            <span class=\"qodef-ul-title-content\"><a href=\"#how-to-monitor-heartbeat-post-requests\">How to Monitor Heartbeat POST Requests<\/a><\/span>        <\/div>\n            <\/li>\n<\/ul>[vc_empty_space height=&#8221;80px&#8221;][vc_widget_sidebar sidebar_id=&#8221;new-top-picks-banner&#8221;][vc_empty_space height=&#8221;80px&#8221;][\/vc_column][\/vc_row][vc_row][vc_column][vc_column_text]<\/p>\n<h2 class=\"qodef-h4\"><a id=\"understanding-the-wordpress-heartbeat-api\"><\/a>Understanding the WordPress Heartbeat API<\/h2>\n<p>[\/vc_column_text][vc_column_text]The WordPress Heartbeat API provides communication between the browser and the web server using <a href=\"https:\/\/developer.wordpress.org\/plugins\/javascript\/ajax\/\" target=\"_blank\" rel=\"noopener\">AJAX<\/a> calls. More precisely, it relies on the <strong>\/wp-admin\/admin-ajax.php<\/strong> file to send POST requests to the server and trigger callback events with the received website data. By default, these requests are sent periodically, when each logged-in user is using the admin dashboard, on the website\u2019s frontend, or while editing a post or page.[\/vc_column_text][vc_empty_space height=&#8221;28px&#8221;][vc_column_text]Examples where the WordPress Heartbeat API is used are many and include creating autosaves and managing revisions in the post editor, managing notifications using the WordPress admin dashboard, post-locking when multiple users are editing the same post, showing when a user has been timed out for being idle, as well as managing real-time sales data for e-commerce plugins. However, despite the usefulness of these features,<strong> numerous AJAX requests can lead to high CPU usage or even server overload<\/strong> on some occasions. As a result, your website performance will be slower, your pages will be indexed at a slower rate, and <strong>in extreme cases, it can lead to your hosting account being suspended<\/strong> due to excessive use of server resources.[\/vc_column_text][vc_empty_space height=&#8221;28px&#8221;][vc_column_text]To avoid such problems, you should <strong>consider managing the WordPress Heartbeat API<\/strong> in some form or capacity. You can either choose to limit the frequency of the \u201cticks\u201d or to completely disable the Heartbeat API. We will discuss both methods below, as well as the things you should consider before opting for either.[\/vc_column_text][vc_empty_space height=&#8221;68px&#8221;][\/vc_column][\/vc_row][vc_row][vc_column][vc_column_text]<\/p>\n<h2 class=\"qodef-h4\"><a id=\"on-managing-the-wordpress-heartbeat-api\"><\/a>On Managing the WordPress Heartbeat API<\/h2>\n<p>[\/vc_column_text][vc_column_text]In the following sections, we will cover how you can <strong>limit the frequency of the Heartbeat API POST requests<\/strong>, as well as how to <strong>disable the API altogether<\/strong>. Both can be done using a suitable WordPress plugin, as well as through custom code. Of course, we will cover both methods. But, before we proceed to the how-tos of the article, there are several things we must mention.[\/vc_column_text][vc_empty_space height=&#8221;28px&#8221;][vc_column_text]Firstly, a way of managing the Heartbeat API <strong>can be found in many WordPress performance-optimizing plugins<\/strong>, both free and premium. For this article, we have opted to showcase<strong> a free plugin<\/strong> called <a href=\"https:\/\/wordpress.org\/plugins\/heartbeat-control\/\" target=\"_blank\" rel=\"noopener\">Heartbeat Control<\/a>, which is one of the most well-known and built specifically for this purpose.[\/vc_column_text][vc_empty_space height=&#8221;28px&#8221;][vc_column_text]That said, we still strongly suggest <a href=\"https:\/\/qodeinteractive.com\/magazine\/how-to-manually-backup-wordpress-website\/\">making a backup of your website<\/a> before proceeding, as limiting or, especially, disabling the Heartbeat API <strong>can negatively impact the functionalities of your plugins and theme<\/strong>, and a website as a whole.[\/vc_column_text][vc_empty_space height=&#8221;28px&#8221;][vc_column_text]Finally, if you opt to use the code snippets we included to disable or limit the Heartbeat API, then brushing up on your <a href=\"https:\/\/qodeinteractive.com\/magazine\/how-to-use-ftp\/\">knowledge of FTP<\/a> is also suggested. Then, having done all the necessary precautions, proceed below.[\/vc_column_text][vc_empty_space height=&#8221;68px&#8221;][\/vc_column][\/vc_row][vc_row][vc_column][vc_column_text]<\/p>\n<h2 class=\"qodef-h4\"><a id=\"how-to-limit-the-wordpress-heartbeat-api\"><\/a>How to Limit the WordPress Heartbeat API<\/h2>\n<p>[\/vc_column_text][vc_column_text]Generally speaking,<strong> limiting the number of requests generated by the Heartbeat API should be the go-to solution<\/strong> for most WordPress users, as it will<strong> decrease the CPU usage<\/strong> while <strong>preserving the functionalities<\/strong> of plugins, themes, and WordPress Core that rely on the API. Therefore, we will showcase it first.[\/vc_column_text][vc_empty_space height=&#8221;28px&#8221;][vc_column_text]Additionally, after performing either of the methods described below, we also advise testing whether the time interval settings were properly applied by monitoring the HTTP requests made to the <em>\/wp-admin\/admin-ajax.php<\/em> file. We have covered it in our section on monitoring Heartbeat POST requests later in the article, which we advise reviewing after modifying the Heartbeat API time interval. Having said that, let us proceed.[\/vc_column_text][vc_empty_space height=&#8221;22px&#8221;]<ul class=\"qodef-unordered-list-item qodef-toc\">\n    <li>\n\t        <div class=\"qodef-ul-title-holder\">\n            <span class=\"qodef-ul-title-content\"><strong>Using a WordPress plugin<\/strong><\/span>        <\/div>\n            <\/li>\n<\/ul>[vc_empty_space height=&#8221;28px&#8221;][vc_column_text]After <a href=\"https:\/\/qodeinteractive.com\/magazine\/how-to-install-a-wordpress-plugin\/\">installing and activating the plugin<\/a>, navigate to the <strong>Settings &gt; Heartbeat Control<\/strong> section, which will place you in the <strong>General settings tab<\/strong>, which holds <strong>all the options needed for limiting or disabling the Heartbeat API<\/strong>. In the tab, you will see three subsections of options concerning the WordPress dashboard, the front end of the website, and the post editor, all of which use the Heartbeat API, as previously mentioned.[\/vc_column_text][vc_empty_space height=&#8221;28px&#8221;][vc_column_text]Each of these subsections offers the option to allow or disable the Heartbeat API, as well as modify its recurring time interval using the \u201cModify Heartbeat\u201d option. By default, the \u201cAllow Heartbeat\u201d option is selected, while the Heartbeat API frequency, i.e. the time interval in which POST requests are called, isn\u2019t shown.[\/vc_column_text][vc_empty_space height=&#8221;50px&#8221;]<div class=\"qodef-single-image-holder   qodef-has-border \">\n    <div class=\"qodef-si-inner\" >\n                                    <img loading=\"lazy\" decoding=\"async\" width=\"969\" height=\"651\" src=\"https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Heartbeat-Control-Settings.jpg\" class=\"attachment-full size-full\" alt=\"Heartbeat Control Settings\" srcset=\"https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Heartbeat-Control-Settings.jpg 969w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Heartbeat-Control-Settings-300x202.jpg 300w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Heartbeat-Control-Settings-768x516.jpg 768w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Heartbeat-Control-Settings-620x417.jpg 620w\" sizes=\"auto, (max-width: 969px) 100vw, 969px\" \/>                        <\/div>\n<\/div>[vc_empty_space height=&#8221;38px&#8221;][vc_column_text]For example, we will modify the Heartbeat API frequency within the WordPress dashboard below. To do that, we have to <strong>click the radio button next to the \u201cModify Heartbeat\u201d option<\/strong>. After doing so, a slider will be shown, using which we can set your Heartbeat frequency from 15 to 300 seconds. It will also show the current Heartbeat frequency, whose default value is 15.[\/vc_column_text][vc_empty_space height=&#8221;50px&#8221;]<div class=\"qodef-single-image-holder   qodef-has-border \">\n    <div class=\"qodef-si-inner\" >\n                                    <img loading=\"lazy\" decoding=\"async\" width=\"969\" height=\"700\" src=\"https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Modify-Heartbeat.jpg\" class=\"attachment-full size-full\" alt=\"Modify Heartbeat\" srcset=\"https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Modify-Heartbeat.jpg 969w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Modify-Heartbeat-300x217.jpg 300w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Modify-Heartbeat-768x555.jpg 768w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Modify-Heartbeat-620x448.jpg 620w\" sizes=\"auto, (max-width: 969px) 100vw, 969px\" \/>                        <\/div>\n<\/div>[vc_empty_space height=&#8221;38px&#8221;][vc_column_text]Then, to change the time interval in which Heartbeat \u201cticks\u201d are issued, <strong>choose a value between 15 and 300 using this slider, and click the \u201cSave Changes\u201d button<\/strong> to save the changes made.[\/vc_column_text][vc_empty_space height=&#8221;50px&#8221;]<div class=\"qodef-single-image-holder   qodef-has-border \">\n    <div class=\"qodef-si-inner\" >\n                                    <img loading=\"lazy\" decoding=\"async\" width=\"969\" height=\"700\" src=\"https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Heartbeat-Frequency.jpg\" class=\"attachment-full size-full\" alt=\"Heartbeat Frequency\" srcset=\"https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Heartbeat-Frequency.jpg 969w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Heartbeat-Frequency-300x217.jpg 300w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Heartbeat-Frequency-768x555.jpg 768w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Heartbeat-Frequency-620x448.jpg 620w\" sizes=\"auto, (max-width: 969px) 100vw, 969px\" \/>                        <\/div>\n<\/div>[vc_empty_space height=&#8221;38px&#8221;][vc_column_text]For this example, we have opted to use 60 seconds as a time interval, but you can use any other within the 15 \u2013 300 seconds range. Of course, in doing so, you should be aware of the things we mentioned above regarding proper website functionality.[\/vc_column_text][vc_empty_space height=&#8221;28px&#8221;][vc_column_text]After setting the time interval, <strong>a notification stating \u201cYour changes have been saved successfully\u201d will be shown.<\/strong>[\/vc_column_text][vc_empty_space height=&#8221;50px&#8221;]<div class=\"qodef-single-image-holder   qodef-has-border \">\n    <div class=\"qodef-si-inner\" >\n                                    <img loading=\"lazy\" decoding=\"async\" width=\"969\" height=\"518\" src=\"https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Changes-Saved-Successfully.jpg\" class=\"attachment-full size-full\" alt=\"Changes Saved Successfully\" srcset=\"https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Changes-Saved-Successfully.jpg 969w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Changes-Saved-Successfully-300x160.jpg 300w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Changes-Saved-Successfully-768x411.jpg 768w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Changes-Saved-Successfully-620x331.jpg 620w\" sizes=\"auto, (max-width: 969px) 100vw, 969px\" \/>                        <\/div>\n<\/div>[vc_empty_space height=&#8221;38px&#8221;][vc_column_text]Then, following these steps, <strong>you can set the remaining time intervals for the Heartbeat API on the front end and in the post editor<\/strong>, respectively. We have opted to set the 60s interval once more, as seen below.[\/vc_column_text][vc_empty_space height=&#8221;50px&#8221;]<div class=\"qodef-single-image-holder   qodef-has-border \">\n    <div class=\"qodef-si-inner\" >\n                                    <img loading=\"lazy\" decoding=\"async\" width=\"969\" height=\"700\" src=\"https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Fronted-Post-Editor.jpg\" class=\"attachment-full size-full\" alt=\"Fronted Post Editor\" srcset=\"https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Fronted-Post-Editor.jpg 969w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Fronted-Post-Editor-300x217.jpg 300w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Fronted-Post-Editor-768x555.jpg 768w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Fronted-Post-Editor-620x448.jpg 620w\" sizes=\"auto, (max-width: 969px) 100vw, 969px\" \/>                        <\/div>\n<\/div>[vc_empty_space height=&#8221;38px&#8221;][vc_column_text]Finally, after setting the Heartbeat API frequency for all three locations, <strong>you should check the functionality of your theme and plugins<\/strong> in the respective WordPress areas after making changes.[\/vc_column_text][vc_empty_space height=&#8221;22px&#8221;]<ul class=\"qodef-unordered-list-item qodef-toc\">\n    <li>\n\t        <div class=\"qodef-ul-title-holder\">\n            <span class=\"qodef-ul-title-content\"><strong>Using custom code<\/strong><\/span>        <\/div>\n            <\/li>\n<\/ul>[vc_empty_space height=&#8221;28px&#8221;][vc_column_text]To set the Heartbeat API frequency using code, you only need a simple code snippet given below. It represents a function called <strong>qode_set_heartbeat_time_interval()<\/strong> which is hooked onto the <a href=\"https:\/\/developer.wordpress.org\/reference\/hooks\/heartbeat_settings\/\" target=\"_blank\" rel=\"noopener\">heartbeat_settings<\/a> filter hook. The content of our custom function is simple \u2013 we have specified that the Heartbeat API interval is set to 60 seconds, stored it in the <em>$settings<\/em> variable, and later returned the variable. Of course, you can change the 60 (seconds) to any value within the 15 \u2013 300 range, as was done using the Heartbeat Control plugin above.[\/vc_column_text][vc_empty_space height=&#8221;28px&#8221;][vc_column_text]<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">function qode_set_heartbeat_time_interval( $settings ) {\r\n$settings['interval'] = 60;\r\nreturn $settings;\r\n}\r\nadd_filter( 'heartbeat_settings', 'qode_set_heartbeat_time_interval' );<\/pre>\n<p>[\/vc_column_text][vc_empty_space height=&#8221;28px&#8221;][vc_column_text]Apart from the above, there are two additional things we must mention. Firstly, since we haven\u2019t used any conditional statements to target specific locations, this code snippet will set a uniform Heartbeat API time interval for all three locations \u2013 the WordPress dashboard, website frontend, and the post editor. And, secondly, <strong>for this code snippet to work properly, it must be added either in the functions.php file of your child theme, via FTP, or inside a site-specific plugin<\/strong>. We have opted for the latter and used the Code Snippets plugin we examined in the <a href=\"https:\/\/qodeinteractive.com\/magazine\/wordpress-site-specific-plugin\/\">article on site-specific plugins<\/a>.[\/vc_column_text][vc_empty_space height=&#8221;28px&#8221;][vc_column_text]We have navigated to <strong>Snippets &gt; Add New, added the code snippet title, inserted the code into the Code section<\/strong>, and <strong>clicked the \u201cSave Changes and Activate\u201d button.<\/strong> As for the remaining options, we have left them at their default values, including not adding a description or tags, which can be done later, optionally.[\/vc_column_text][vc_empty_space height=&#8221;50px&#8221;]<div class=\"qodef-single-image-holder   qodef-has-border \">\n    <div class=\"qodef-si-inner\" >\n                                    <img loading=\"lazy\" decoding=\"async\" width=\"969\" height=\"518\" src=\"https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Add-New-Snippet-Code.jpg\" class=\"attachment-full size-full\" alt=\"Add New Snippet Code\" srcset=\"https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Add-New-Snippet-Code.jpg 969w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Add-New-Snippet-Code-300x160.jpg 300w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Add-New-Snippet-Code-768x411.jpg 768w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Add-New-Snippet-Code-620x331.jpg 620w\" sizes=\"auto, (max-width: 969px) 100vw, 969px\" \/>                        <\/div>\n<\/div>[vc_empty_space height=&#8221;60px&#8221;]<div class=\"qodef-single-image-holder   qodef-has-border \">\n    <div class=\"qodef-si-inner\" >\n                                    <img loading=\"lazy\" decoding=\"async\" width=\"969\" height=\"518\" src=\"https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Save-Changes-and-Activate.jpg\" class=\"attachment-full size-full\" alt=\"Save Changes and Activate\" srcset=\"https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Save-Changes-and-Activate.jpg 969w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Save-Changes-and-Activate-300x160.jpg 300w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Save-Changes-and-Activate-768x411.jpg 768w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Save-Changes-and-Activate-620x331.jpg 620w\" sizes=\"auto, (max-width: 969px) 100vw, 969px\" \/>                        <\/div>\n<\/div>[vc_empty_space height=&#8221;38px&#8221;][vc_column_text]Of course, shortly after performing the previously described actions, <strong>we got a notification stating that our code snippet was added and activated.<\/strong>[\/vc_column_text][vc_empty_space height=&#8221;50px&#8221;]<div class=\"qodef-single-image-holder   qodef-has-border \">\n    <div class=\"qodef-si-inner\" >\n                                    <img loading=\"lazy\" decoding=\"async\" width=\"969\" height=\"518\" src=\"https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Snippet-Added-and-Activated.jpg\" class=\"attachment-full size-full\" alt=\"Snippet Added and Activated\" srcset=\"https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Snippet-Added-and-Activated.jpg 969w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Snippet-Added-and-Activated-300x160.jpg 300w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Snippet-Added-and-Activated-768x411.jpg 768w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Snippet-Added-and-Activated-620x331.jpg 620w\" sizes=\"auto, (max-width: 969px) 100vw, 969px\" \/>                        <\/div>\n<\/div>[vc_empty_space height=&#8221;38px&#8221;][vc_column_text]Needless to say, what remains now is to <strong>check the functionality of your theme and plugins in the WordPress dashboard, the website\u2019s frontend and within the post editor<\/strong>, as previously mentioned.[\/vc_column_text][vc_empty_space height=&#8221;68px&#8221;][\/vc_column][\/vc_row][vc_row][vc_column][vc_column_text]<\/p>\n<h2 class=\"qodef-h4\"><a id=\"how-to-disable-the-wordpress-heartbeat-api\"><\/a>How to Disable the WordPress Heartbeat API<\/h2>\n<p>[\/vc_column_text][vc_column_text]If limiting the WordPress Heartbeat API hasn\u2019t reduced the server CPU usage significantly, you should <strong>consider disabling it<\/strong>, which will be discussed in this section. Similar to the previous one, we will show how you can disable the WordPress Heartbeat API using the Heartbeat Control plugin, as well as with a custom code snippet. However, as this could hurt some website functionalities, it is important to thoroughly think through it before deciding to disable the Heartbeat API. As mentioned before, <strong>you could lose the ability to auto-save drafts, manage revisions or the post locking feature.<\/strong>[\/vc_column_text][vc_empty_space height=&#8221;28px&#8221;][vc_column_text]Finally, disabling the Heartbeat API <strong>can hurt the functionality of any theme or plugin<\/strong> that relies on it. The most notable plugins that use the API are the page builders like Elementor, for which we don\u2019t advise completely disabling the Heartbeat API. That said, let us explain how you can disable the API, should you decide to do it.[\/vc_column_text][vc_empty_space height=&#8221;22px&#8221;]<ul class=\"qodef-unordered-list-item qodef-toc\">\n    <li>\n\t        <div class=\"qodef-ul-title-holder\">\n            <span class=\"qodef-ul-title-content\"><strong>Using a WordPress plugin<\/strong><\/span>        <\/div>\n            <\/li>\n<\/ul>[vc_empty_space height=&#8221;28px&#8221;][vc_column_text]As mentioned, the Heartbeat Control plugin can also be used to disable the Heartbeat API in the WordPress dashboard, on the frontend, and in the post editor. Of course, to do so, you need to navigate to the <strong>Settings &gt; Heartbeat Control<\/strong> section, which will position you within the plugin\u2019s General settings tab. Then, if you want to disable the Heartbeat API in the WordPress dashboard, <strong>tick the radio button next to the \u201cDisable Heartbeat\u201d option<\/strong> in the WordPress Dashboard subsection and <strong>click the \u201cSave Changes\u201d button<\/strong>.[\/vc_column_text][vc_empty_space height=&#8221;50px&#8221;]<div class=\"qodef-single-image-holder   qodef-has-border \">\n    <div class=\"qodef-si-inner\" >\n                                    <img loading=\"lazy\" decoding=\"async\" width=\"969\" height=\"698\" src=\"https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Disable-Heartbeat.jpg\" class=\"attachment-full size-full\" alt=\"Disable Heartbeat\" srcset=\"https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Disable-Heartbeat.jpg 969w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Disable-Heartbeat-300x216.jpg 300w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Disable-Heartbeat-768x553.jpg 768w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Disable-Heartbeat-620x447.jpg 620w\" sizes=\"auto, (max-width: 969px) 100vw, 969px\" \/>                        <\/div>\n<\/div>[vc_empty_space height=&#8221;38px&#8221;][vc_column_text]You will see a success message shortly after.<br \/>\n[\/vc_column_text][vc_empty_space height=&#8221;50px&#8221;]<div class=\"qodef-single-image-holder   qodef-has-border \">\n    <div class=\"qodef-si-inner\" >\n                                    <img loading=\"lazy\" decoding=\"async\" width=\"969\" height=\"518\" src=\"https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Changes-Saved-Successfully-2.jpg\" class=\"attachment-full size-full\" alt=\"Changes Saved Successfully\" srcset=\"https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Changes-Saved-Successfully-2.jpg 969w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Changes-Saved-Successfully-2-300x160.jpg 300w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Changes-Saved-Successfully-2-768x411.jpg 768w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Changes-Saved-Successfully-2-620x331.jpg 620w\" sizes=\"auto, (max-width: 969px) 100vw, 969px\" \/>                        <\/div>\n<\/div>[vc_empty_space height=&#8221;38px&#8221;][vc_column_text]Similarly, you can disable the Heartbeat API for the other two locations \u2013 the website\u2019s front end and the post editor screen. Of course, to do so, <strong>tick the radio button next to the corresponding \u201cDisable Heartbeat\u201d option and click the \u201cSave Changes\u201d button<\/strong>, afterward.[\/vc_column_text][vc_empty_space height=&#8221;50px&#8221;]<div class=\"qodef-single-image-holder   qodef-has-border \">\n    <div class=\"qodef-si-inner\" >\n                                    <img loading=\"lazy\" decoding=\"async\" width=\"969\" height=\"695\" src=\"https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Disable-Heartbeat-2.jpg\" class=\"attachment-full size-full\" alt=\"Disable Heartbeat\" srcset=\"https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Disable-Heartbeat-2.jpg 969w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Disable-Heartbeat-2-300x215.jpg 300w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Disable-Heartbeat-2-768x551.jpg 768w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Disable-Heartbeat-2-620x445.jpg 620w\" sizes=\"auto, (max-width: 969px) 100vw, 969px\" \/>                        <\/div>\n<\/div>[vc_empty_space height=&#8221;38px&#8221;][vc_column_text]After disabling the API, it is important to <strong>check all the functionalities of your theme and plugins,<\/strong> as many could be affected by this change.[\/vc_column_text][vc_empty_space height=&#8221;22px&#8221;]<ul class=\"qodef-unordered-list-item qodef-toc\">\n    <li>\n\t        <div class=\"qodef-ul-title-holder\">\n            <span class=\"qodef-ul-title-content\"><strong>Using custom code<\/strong><\/span>        <\/div>\n            <\/li>\n<\/ul>[vc_empty_space height=&#8221;28px&#8221;][vc_column_text]If you opt to <strong>disable the Heartbeat API using code<\/strong>, you will need an equally simple code snippet as with modifying its default time interval. For this article, we have created the following snippet that contains a custom function called <strong>qode_disable_the_heartbeat_api()<\/strong>, which has been \u201chooked\u201d onto the <a href=\"https:\/\/developer.wordpress.org\/reference\/hooks\/init\/\" target=\"_blank\" rel=\"noopener\">init<\/a> action hook. Within our custom function, we have only called the <a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/wp_deregister_script\/\" target=\"_blank\" rel=\"noopener\">wp_deregister_script()<\/a> function to remove the heartbeat script.[\/vc_column_text][vc_empty_space height=&#8221;28px&#8221;][vc_column_text]<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">function qode_disable_the_heartbeat_api() {\r\nwp_deregister_script( 'heartbeat' );\r\n}\r\nadd_action( 'init', 'qode_disable_the_heartbeat_api', 1 );<\/pre>\n<p>[\/vc_column_text][vc_empty_space height=&#8221;28px&#8221;][vc_column_text]Furthermore, the same two notices we mentioned in the previous section still hold. Meaning this code will remove the Heartbeat API from all three locations. For it to work properly,<strong> it needs to be added either in the <em>functions.php<\/em> file of your child theme, via FTP, or into a site-specific plugin<\/strong>. Once again, we opted for the Code Snippets route.[\/vc_column_text][vc_empty_space height=&#8221;28px&#8221;][vc_column_text]To disable the Heartbeat API on your website using code, navigate to the <strong>Snippets &gt; Add New<\/strong>. Then, <strong>insert the code snippet title, and its code in the Code section<\/strong>, and <strong>click the \u201cSave Changes and Activate\u201d button<\/strong> to proceed.[\/vc_column_text][vc_empty_space height=&#8221;50px&#8221;]<div class=\"qodef-single-image-holder   qodef-has-border \">\n    <div class=\"qodef-si-inner\" >\n                                    <img loading=\"lazy\" decoding=\"async\" width=\"969\" height=\"700\" src=\"https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Save-Changes-and-Activate-2.jpg\" class=\"attachment-full size-full\" alt=\"Save Changes and Activate\" srcset=\"https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Save-Changes-and-Activate-2.jpg 969w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Save-Changes-and-Activate-2-300x217.jpg 300w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Save-Changes-and-Activate-2-768x555.jpg 768w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Save-Changes-and-Activate-2-620x448.jpg 620w\" sizes=\"auto, (max-width: 969px) 100vw, 969px\" \/>                        <\/div>\n<\/div>[vc_empty_space height=&#8221;38px&#8221;][vc_column_text]You will see the following success message shortly after.<br \/>\n[\/vc_column_text][vc_empty_space height=&#8221;50px&#8221;]<div class=\"qodef-single-image-holder   qodef-has-border \">\n    <div class=\"qodef-si-inner\" >\n                                    <img loading=\"lazy\" decoding=\"async\" width=\"969\" height=\"518\" src=\"https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Snippet-Added-and-Activated-2.jpg\" class=\"attachment-full size-full\" alt=\"Snippet Added and Activated\" srcset=\"https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Snippet-Added-and-Activated-2.jpg 969w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Snippet-Added-and-Activated-2-300x160.jpg 300w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Snippet-Added-and-Activated-2-768x411.jpg 768w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Snippet-Added-and-Activated-2-620x331.jpg 620w\" sizes=\"auto, (max-width: 969px) 100vw, 969px\" \/>                        <\/div>\n<\/div>[vc_empty_space height=&#8221;38px&#8221;][vc_column_text]However, to ensure all is working properly on your website, <strong>we strongly advise checking the functionalities of your theme and plugins after disabling this API.<\/strong>[\/vc_column_text][vc_empty_space height=&#8221;68px&#8221;][\/vc_column][\/vc_row][vc_row][vc_column][vc_column_text]<\/p>\n<h2 class=\"qodef-h4\"><a id=\"how-to-monitor-heartbeat-post-requests\"><\/a>How to Monitor Heartbeat POST Requests<\/h2>\n<p>[\/vc_column_text][vc_column_text]A simple way of monitoring Heartbeat POST requests to the<em> \/wp-admin\/admin-ajax.php<\/em> file can be done using the developer tools of your current browser. This can be done from any of the three previously mentioned locations \u2013 WordPress admin dashboard, website\u2019s frontend, or the post editor screen. Of course, the purpose of the monitoring process described below is to verify whether the chosen time interval had been successfully applied. We will use the admin dashboard as an example, but the same steps can be applied regardless of the location. Let us begin.[\/vc_column_text][vc_empty_space height=&#8221;28px&#8221;][vc_column_text]First, <strong>right-click anywhere on the page<\/strong> while viewing the WordPress admin dashboard. A new menu will appear, and you should <strong>click on the \u201cInspect\u201d option<\/strong> to access the browser\u2019s developer tools.[\/vc_column_text][vc_empty_space height=&#8221;50px&#8221;]<div class=\"qodef-single-image-holder   qodef-has-border \">\n    <div class=\"qodef-si-inner\" >\n                                    <img loading=\"lazy\" decoding=\"async\" width=\"969\" height=\"518\" src=\"https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Inspect.jpg\" class=\"attachment-full size-full\" alt=\"Inspect\" srcset=\"https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Inspect.jpg 969w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Inspect-300x160.jpg 300w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Inspect-768x411.jpg 768w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Inspect-620x331.jpg 620w\" sizes=\"auto, (max-width: 969px) 100vw, 969px\" \/>                        <\/div>\n<\/div>[vc_empty_space height=&#8221;38px&#8221;][vc_column_text]You will be taken to the Elements tab, right on the HTML element you right-clicked on. Then, you should <strong>switch to the Network tab<\/strong> from where you can monitor all the HTTP requests your page gets while developer tools are open.[\/vc_column_text][vc_empty_space height=&#8221;50px&#8221;]<div class=\"qodef-single-image-holder   qodef-has-border \">\n    <div class=\"qodef-si-inner\" >\n                                    <img loading=\"lazy\" decoding=\"async\" width=\"969\" height=\"576\" src=\"https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Network.jpg\" class=\"attachment-full size-full\" alt=\"Network\" srcset=\"https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Network.jpg 969w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Network-300x178.jpg 300w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Network-768x457.jpg 768w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Network-620x369.jpg 620w\" sizes=\"auto, (max-width: 969px) 100vw, 969px\" \/>                        <\/div>\n<\/div>[vc_empty_space height=&#8221;38px&#8221;][vc_column_text]Then, you can use the Filter function to filter only the HTTP requests that request the <em>\/wp-admin\/admin-ajax.php<\/em> file. To do that, <strong>you can insert either \/wp-admin\/admin-ajax.php or just admin-ajax.php in the Filter text field<\/strong>, while making sure either All or Fetch\/XHR HTTP requests are selected.[\/vc_column_text][vc_empty_space height=&#8221;50px&#8221;]<div class=\"qodef-single-image-holder   qodef-has-border \">\n    <div class=\"qodef-si-inner\" >\n                                    <img loading=\"lazy\" decoding=\"async\" width=\"969\" height=\"576\" src=\"https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Network-Admin-Ajax-All.jpg\" class=\"attachment-full size-full\" alt=\"Network Admin Ajax All\" srcset=\"https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Network-Admin-Ajax-All.jpg 969w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Network-Admin-Ajax-All-300x178.jpg 300w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Network-Admin-Ajax-All-768x457.jpg 768w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Network-Admin-Ajax-All-620x369.jpg 620w\" sizes=\"auto, (max-width: 969px) 100vw, 969px\" \/>                        <\/div>\n<\/div>[vc_empty_space height=&#8221;38px&#8221;][vc_column_text]Then, you will have to <strong>wait a while<\/strong> until new Heartbeat POST requests have been issued, which will be logged below. After at least one has been logged, you can <strong>click on it to access its data<\/strong>. By default, the Headers tab will be opened.[\/vc_column_text][vc_empty_space height=&#8221;50px&#8221;]<div class=\"qodef-single-image-holder   qodef-has-border \">\n    <div class=\"qodef-si-inner\" >\n                                    <img loading=\"lazy\" decoding=\"async\" width=\"969\" height=\"678\" src=\"https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Network-Headers.jpg\" class=\"attachment-full size-full\" alt=\"Network Headers\" srcset=\"https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Network-Headers.jpg 969w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Network-Headers-300x210.jpg 300w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Network-Headers-768x537.jpg 768w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Network-Headers-620x434.jpg 620w\" sizes=\"auto, (max-width: 969px) 100vw, 969px\" \/>                        <\/div>\n<\/div>[vc_empty_space height=&#8221;38px&#8221;][vc_column_text]You can then <strong>switch to the Payload tab<\/strong>, from where you can<strong> inspect the interval value, as long as it has the heartbeat action.<\/strong>[\/vc_column_text][vc_empty_space height=&#8221;50px&#8221;]<div class=\"qodef-single-image-holder   qodef-has-border \">\n    <div class=\"qodef-si-inner\" >\n                                    <img loading=\"lazy\" decoding=\"async\" width=\"969\" height=\"678\" src=\"https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Network-Payload.jpg\" class=\"attachment-full size-full\" alt=\"Network Payload\" srcset=\"https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Network-Payload.jpg 969w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Network-Payload-300x210.jpg 300w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Network-Payload-768x537.jpg 768w, https:\/\/qodeinteractive.com\/magazine\/wp-content\/uploads\/2022\/05\/Network-Payload-620x434.jpg 620w\" sizes=\"auto, (max-width: 969px) 100vw, 969px\" \/>                        <\/div>\n<\/div>[vc_empty_space height=&#8221;38px&#8221;][vc_column_text]Of course, as you wait, more requests will be created, assuming that the Heartbeat API hasn\u2019t been disabled. Which is the reason why there are only two requests shown on the first screenshot, while there are five of them on the latter one.<br \/>\n[\/vc_column_text][vc_empty_space height=&#8221;28px&#8221;][vc_column_text]This method can also be used to <strong>verify that the Heartbeat API has been successfully disabled<\/strong>. Specifically, if after waiting for some time (more than the set time interval), you don\u2019t see any POST requests to the <em>\/wp-admin\/admin-ajax.php<\/em> file being logged in the access log, you can assume that it has been successfully disabled for the given location.[\/vc_column_text][vc_empty_space height=&#8221;28px&#8221;][vc_column_text]In case you find out <strong>your Heartbeat settings aren\u2019t being applied<\/strong> (either the interval being wrong or the requests being generated despite the API being disabled), you should employ some basic <a href=\"https:\/\/qodeinteractive.com\/magazine\/how-to-troubleshoot-wordpress-errors\/\">troubleshooting<\/a> to <strong>establish which plugin or theme is to blame<\/strong>. With that, we conclude the article.[\/vc_column_text][vc_empty_space height=&#8221;68px&#8221;][\/vc_column][\/vc_row][vc_row][vc_column][vc_column_text]<\/p>\n<h2 class=\"qodef-h4\">Final Thoughts<\/h2>\n<p>[\/vc_column_text][vc_column_text]The Heartbeat API is a feature introduced in the WordPress 3.6 version providing a way of communication between the web server and the browser. While it has some uses which we outlined, it can create an excessive amount of POST requests that can increase the server\u2019s CPU usage significantly. Therefore, some form of management of this API is needed, either limiting the frequency in which these requests are sent or disabling it completely if it doesn\u2019t harm the functionality of your WordPress website.<br \/>\n[\/vc_column_text][vc_empty_space height=&#8221;28px&#8221;][vc_column_text]In this article, we have discussed the two ways of achieving both \u2013 using a suitable WordPress plugin or custom code. Since we mentioned all the necessary precautions and thoroughly explained all the steps, you should have no issue limiting or disabling the API using either method. And, since managing the Heartbeat API is a common performance optimization measure for WordPress websites, we strongly suggest bookmarking this article for the next time you might need to use it.<br \/>\n[\/vc_column_text][\/vc_column][\/vc_row]<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Check out our complete guide to WordPress Heartbeat API: learn what it is, how it syncs your server and your dashboard, and how to manage it.<\/p>\n","protected":false},"author":11229,"featured_media":37894,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[264,263,13],"class_list":["post-37856","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorials","tag-api","tag-heartbeat","tag-wordpress"],"_links":{"self":[{"href":"https:\/\/qodeinteractive.com\/magazine\/wp-json\/wp\/v2\/posts\/37856","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/qodeinteractive.com\/magazine\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/qodeinteractive.com\/magazine\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/qodeinteractive.com\/magazine\/wp-json\/wp\/v2\/users\/11229"}],"replies":[{"embeddable":true,"href":"https:\/\/qodeinteractive.com\/magazine\/wp-json\/wp\/v2\/comments?post=37856"}],"version-history":[{"count":0,"href":"https:\/\/qodeinteractive.com\/magazine\/wp-json\/wp\/v2\/posts\/37856\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/qodeinteractive.com\/magazine\/wp-json\/wp\/v2\/media\/37894"}],"wp:attachment":[{"href":"https:\/\/qodeinteractive.com\/magazine\/wp-json\/wp\/v2\/media?parent=37856"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/qodeinteractive.com\/magazine\/wp-json\/wp\/v2\/categories?post=37856"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/qodeinteractive.com\/magazine\/wp-json\/wp\/v2\/tags?post=37856"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}