{"id":17145,"date":"2025-06-24T09:50:05","date_gmt":"2025-06-24T04:20:05","guid":{"rendered":"https:\/\/meetanshi.com\/blog\/?p=17145"},"modified":"2025-09-25T14:57:09","modified_gmt":"2025-09-25T09:27:09","slug":"how-to-add-recaptcha-in-hyva","status":"publish","type":"post","link":"https:\/\/meetanshi.com\/blog\/how-to-add-recaptcha-in-hyva\/","title":{"rendered":"How to Add Google reCAPTCHA in Hyv\u00e4? &#8211; Guide\u00a0\u00a0"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">The Hyv\u00e4 theme makes your Magento 2 store faster and more maintainable.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">While Hyv\u00e4 smoothly runs your store, you need to take care of your store&#8217;s security. Automated bots may attempt to exploit your store elements like contact, login, registration, or newsletter forms.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is where Google reCAPTCHA becomes essential.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In this blog, I will show you how to add Google reCAPTCHA in Hyv\u00e4 without any hassle.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How to Add reCaptcha in Hyv\u00e4? &#8211; Complete Steps&nbsp;<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Hyv\u00e4 supports these 3 types of reCAPTCHA:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>reCAPTCHA v2 (\u201cI\u2019m not a robot checkbox\u201d)<\/li>\n\n\n\n<li>reCAPTCHA v2 (Invisible reCAPTCHA badge)<\/li>\n\n\n\n<li>reCAPTCHA v3&nbsp;<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">You can pick the one and add the reCAPTCHA in the Hyv\u00e4 theme for free.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here are the steps to do so:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Step 1: Get the reCAPTCHA Secret Key<\/li>\n\n\n\n<li>Step 2: Add Google reCAPTCHA in Magento 2 Admin&nbsp;<\/li>\n\n\n\n<li>Step 3: Create a Magento 2 Module to Display a Basic HTML Form<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Step 1: Get the reCAPTCHA Secret Key<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">You will need to have a Google account to register your domain.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">After registration, you will receive a Site Key and Secret Key, which are required for integration.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To begin the registration process, head to<a href=\"https:\/\/www.google.com\/recaptcha\/admin\/\" target=\"_blank\" rel=\"noopener\"> Google reCAPTCHA<\/a><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Click &#8221; + &#8221; to add new site, select &#8221; reCAPTCHA v3 &#8220;<\/li>\n\n\n\n<li>Add domain and accept the terms<\/li>\n\n\n\n<li>Click Submit to get the site key and secret key.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1254\" height=\"792\" src=\"https:\/\/meetanshi.com\/blog\/wp-content\/uploads\/2025\/06\/1-Get-the-reCAPTCHA-Secret-Key.png\" alt=\"Get the reCAPTCHA Secret Key\" class=\"wp-image-17151\" srcset=\"https:\/\/meetanshi.com\/blog\/wp-content\/uploads\/2025\/06\/1-Get-the-reCAPTCHA-Secret-Key.png 1254w, https:\/\/meetanshi.com\/blog\/wp-content\/uploads\/2025\/06\/1-Get-the-reCAPTCHA-Secret-Key-250x158.png 250w, https:\/\/meetanshi.com\/blog\/wp-content\/uploads\/2025\/06\/1-Get-the-reCAPTCHA-Secret-Key-700x442.png 700w, https:\/\/meetanshi.com\/blog\/wp-content\/uploads\/2025\/06\/1-Get-the-reCAPTCHA-Secret-Key-768x485.png 768w, https:\/\/meetanshi.com\/blog\/wp-content\/uploads\/2025\/06\/1-Get-the-reCAPTCHA-Secret-Key-403x255.png 403w, https:\/\/meetanshi.com\/blog\/wp-content\/uploads\/2025\/06\/1-Get-the-reCAPTCHA-Secret-Key-964x609.png 964w, https:\/\/meetanshi.com\/blog\/wp-content\/uploads\/2025\/06\/1-Get-the-reCAPTCHA-Secret-Key-120x76.png 120w\" sizes=\"auto, (max-width: 1254px) 100vw, 1254px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Step 2: Add Google reCAPTCHA in Magento 2 Admin&nbsp;<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Once you\u2019ve obtained the required site and secret keys for Google reCAPTCHA, you\u2019ll need to configure them in your Magento admin panel. Follow the steps below:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">After you get the required site and secret keys for Google reCAPTCHA, you\u2019ll need to configure them in your Magento admin panel. Follow the steps below:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Log in to your Magento Admin Dashboard.<\/li>\n\n\n\n<li>Navigate to: <strong>Stores<\/strong> &gt; <strong>Settings<\/strong> &gt; <strong>Configuration<\/strong> &gt; <strong>Security<\/strong> &gt; <strong>Google reCAPTCHA Storefront<\/strong>.<\/li>\n\n\n\n<li>Enter the Site Key and Secret Key for the reCAPTCHA type (v2 or v3) you wish to enable.<\/li>\n\n\n\n<li>Save the configuration.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1806\" height=\"820\" src=\"https:\/\/meetanshi.com\/blog\/wp-content\/uploads\/2025\/06\/2-Add-Google-reCAPTCHA-in-Magento-2-Admin.png\" alt=\"Add Google reCAPTCHA in Magento Admin\" class=\"wp-image-17149\" srcset=\"https:\/\/meetanshi.com\/blog\/wp-content\/uploads\/2025\/06\/2-Add-Google-reCAPTCHA-in-Magento-2-Admin.png 1806w, https:\/\/meetanshi.com\/blog\/wp-content\/uploads\/2025\/06\/2-Add-Google-reCAPTCHA-in-Magento-2-Admin-250x114.png 250w, https:\/\/meetanshi.com\/blog\/wp-content\/uploads\/2025\/06\/2-Add-Google-reCAPTCHA-in-Magento-2-Admin-700x318.png 700w, https:\/\/meetanshi.com\/blog\/wp-content\/uploads\/2025\/06\/2-Add-Google-reCAPTCHA-in-Magento-2-Admin-768x349.png 768w, https:\/\/meetanshi.com\/blog\/wp-content\/uploads\/2025\/06\/2-Add-Google-reCAPTCHA-in-Magento-2-Admin-1536x697.png 1536w, https:\/\/meetanshi.com\/blog\/wp-content\/uploads\/2025\/06\/2-Add-Google-reCAPTCHA-in-Magento-2-Admin-403x183.png 403w, https:\/\/meetanshi.com\/blog\/wp-content\/uploads\/2025\/06\/2-Add-Google-reCAPTCHA-in-Magento-2-Admin-964x438.png 964w, https:\/\/meetanshi.com\/blog\/wp-content\/uploads\/2025\/06\/2-Add-Google-reCAPTCHA-in-Magento-2-Admin-120x54.png 120w\" sizes=\"auto, (max-width: 1806px) 100vw, 1806px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Step 3: Create a Magento 2 Module to Display a Basic HTML Form<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Now follow these instructions to develop a Magento 2 module that outputs a basic HTML form on the storefront.Create a <strong>Registration.php <\/strong>file with the below code at <strong>app\/code\/Meetanshi\/HyvaRecaptcha <\/strong>directory:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n\\Magento\\Framework\\Component\\ComponentRegistrar::register(\n   \\Magento\\Framework\\Component\\ComponentRegistrar::MODULE,\n   'Meetanshi_HyvaRecaptcha',\n   __DIR__\n);\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Create <strong>module.xml<\/strong> file at the location <strong>app\/code\/Meetanshi\/HyvaRecaptcha\/etc\/<\/strong> and implement the below code:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?xml version=\"1.0\" ?>\n&lt;config xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"urn:magento:framework:Module\/etc\/module.xsd\">\n   &lt;module name=\"Meetanshi_HyvaRecaptcha\" setup_version=\"1.0.0\">\n   &lt;\/module>\n&lt;\/config>\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Create a <strong>routes.xml<\/strong> file at the location <strong>app\/code\/Meetanshi\/HyvaRecaptcha\/etc\/frontend<\/strong> with the below code:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?xml version=\"1.0\"?>\n&lt;config xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"urn:magento:framework:App\/etc\/routes.xsd\">\n   &lt;router id=\"standard\">\n       &lt;route id=\"meetanshi_hyvaform\" frontName=\"hyvaform\">\n           &lt;module name=\"Meetanshi_HyvaRecaptcha\" \/>\n       &lt;\/route>\n   &lt;\/router>\n&lt;\/config>\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Now, create the <strong>index.php<\/strong> file at the following location <strong>app\/code\/Meetanshi\/HyvaRecaptcha\/Controller\/Index<\/strong> and place the below code under it:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\nnamespace Meetanshi\\HyvaRecaptcha\\Controller\\Index;\n\nuse Magento\\Framework\\App\\Action\\Context;\nuse Magento\\Framework\\View\\Result\\PageFactory;\n\nclass Index extends \\Magento\\Framework\\App\\Action\\Action\n{\n   \/** @var  \\Magento\\Framework\\View\\Result\\Page *\/\n   protected $resultPageFactory;\n\n   \/**\n    * @param Context $context\n    * @param PageFactory $resultPageFactory\n    *\/\n   public function __construct(\n       \\Magento\\Framework\\App\\Action\\Context $context,\n       \\Magento\\Framework\\View\\Result\\PageFactory $resultPageFactory\n   ) {\n       $this->resultPageFactory = $resultPageFactory;\n       parent::__construct($context);\n   }\n\n   \/**\n    * Hyva Form\n    *\n    * @return \\Magento\\Framework\\View\\Result\\PageFactory\n    *\/\n   public function execute()\n   {\n       $resultPage = $this->resultPageFactory->create();\n       $resultPage->getConfig()\n           ->getTitle()\n           ->prepend(__('Hyva Form'));\n       return $resultPage;\n   }\n}\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">In frontend layout directories, add a new file called <strong>meetanshi_hyvaform_index_index.xml<\/strong> at <strong>app\/code\/Meetanshi\/HyvaRecaptcha\/frontend\/layout<\/strong> and implement the mentioned code there:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?xml version=\"1.0\"?>\n&lt;page xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\" layout=\"1column\" xsi:noNamespaceSchemaLocation=\"urn:magento:framework:View\/Layout\/etc\/page_configuration.xsd\">\n   &lt;body>\n       &lt;referenceContainer name=\"content\">\n          &lt;block class=\"Magento\\Framework\\View\\Element\\Template\" name=\"meetanshi_hyvaform\" template=\"Meetanshi_HyvaRecaptcha::hyva\/hyva_custom_form.phtml\" \/>\n       &lt;\/referenceContainer>\n   &lt;\/body>\n&lt;\/page>\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Create a file named <strong>hyva_custom_form.phtml<\/strong> under the path <strong>app\/code\/Meetanshi\/HyvaRecaptcha\/view\/frontend\/templates\/hyva<\/strong> and insert the following code inside it:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\nuse Hyva\\Theme\\ViewModel\\ReCaptcha as HyvaRecaptcha;\n\n\/**\n* @var \\Magento\\Framework\\View\\Element\\Template $block\n* @var \\Magento\\Framework\\Escaper $escaper\n*\/\n?>\n\n&lt;form action=\"&lt;?= $escaper->escapeUrl($block->getUrl('hyva_form\/action\/post')) ?>\"\n     method=\"post\"\n     id=\"hyva_form\"\n>\n   &lt;?= $block->getBlockHtml('formkey') ?>\n\n   &lt;div class=\"field field-reserved w-full required\">\n       &lt;label class=\"label\" for=\"firstname\">\n           &lt;span>First Name&lt;\/span>\n       &lt;\/label>\n       &lt;div class=\"control\">\n           &lt;input type=\"text\" id=\"name\" name=\"name\" title=\"First Name\" class=\"form-input required-entry\">\n       &lt;\/div>\n   &lt;\/div>\n    &lt;div class=\"field field-reserved w-full required\">\n       &lt;label class=\"label\" for=\"firstname\">\n           &lt;span>Last Name&lt;\/span>\n       &lt;\/label>\n       &lt;div class=\"control\">\n           &lt;input type=\"text\" id=\"name\" name=\"name\" title=\"Last Name\" class=\"form-input required-entry\">\n       &lt;\/div>\n   &lt;\/div>\n\n\n   &lt;!-- Render the Google reCAPTCHA v2 (\u201cI am not a robot\u201d)  -->\n   &lt;?= $block->getBlockHtml(HyvaRecaptcha::RECAPTCHA_INPUT_FIELD_BLOCK.'_recaptcha') ?>\n\n\n   &lt;!-- Render the Google reCAPTCHA v2 Invisible  -->\n   &lt;?= $block->getBlockHtml(HyvaRecaptcha::RECAPTCHA_INPUT_FIELD_BLOCK.'_invisible') ?>\n\n\n   &lt;!-- Render the Google reCAPTCHA v3 Invisible  -->\n   &lt;?= $block->getBlockHtml(HyvaRecaptcha::RECAPTCHA_INPUT_FIELD_BLOCK) ?>\n\n   \n    &lt;?= $block->getBlockHtml(HyvaRecaptcha::RECAPTCHA_LEGAL_NOTICE_BLOCK) ?>   \n\n\n   &lt;div class=\"actions-toolbar\">\n       &lt;div class=\"primary\">\n           &lt;button type=\"submit\" class=\"action submit primary\">\n               &lt;?= $escaper->escapeHtml(__('Action')) ?>\n           &lt;\/button>\n       &lt;\/div>\n   &lt;\/div>\n&lt;\/form>\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">After using the above code, you can check the reCAPTCHA in the frontend by using the below url: http:\/\/&lt;<a href=\"http:\/\/yourhost.com\" target=\"_blank\" rel=\"noopener\">yourhost.com<\/a>&gt;\/hyvaform\/index\/index Or http:\/\/&lt;<a href=\"http:\/\/yourhost.com\" target=\"_blank\" rel=\"noopener\">yourhost.com<\/a>&gt;\/hyvaform<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Based on the reCAPTCHA type you have integrated &#8211; it will display in the front end when you open the given URL.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can have a look at the output of the above code in the below screenshots:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">reCAPTCHA v2 (\u201cI am not a robot\u201d)<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"525\" height=\"509\" src=\"https:\/\/meetanshi.com\/blog\/wp-content\/uploads\/2025\/06\/3-Output-of-the-Code-reCAPTCHA-v2-I-am-not-a-robot.png\" alt=\"Output of the Code reCAPTCHA v2 &quot;I am not a robot&quot;\" class=\"wp-image-17155\" srcset=\"https:\/\/meetanshi.com\/blog\/wp-content\/uploads\/2025\/06\/3-Output-of-the-Code-reCAPTCHA-v2-I-am-not-a-robot.png 525w, https:\/\/meetanshi.com\/blog\/wp-content\/uploads\/2025\/06\/3-Output-of-the-Code-reCAPTCHA-v2-I-am-not-a-robot-250x242.png 250w, https:\/\/meetanshi.com\/blog\/wp-content\/uploads\/2025\/06\/3-Output-of-the-Code-reCAPTCHA-v2-I-am-not-a-robot-403x391.png 403w, https:\/\/meetanshi.com\/blog\/wp-content\/uploads\/2025\/06\/3-Output-of-the-Code-reCAPTCHA-v2-I-am-not-a-robot-120x116.png 120w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">reCAPTCA v2 with optional legal notice block<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"756\" height=\"555\" src=\"https:\/\/meetanshi.com\/blog\/wp-content\/uploads\/2025\/06\/4-reCAPTCA-v2-with-optional-legal-notice-block.png\" alt=\"reCAPTCHA with Optional Legal Notice\" class=\"wp-image-17153\" srcset=\"https:\/\/meetanshi.com\/blog\/wp-content\/uploads\/2025\/06\/4-reCAPTCA-v2-with-optional-legal-notice-block.png 756w, https:\/\/meetanshi.com\/blog\/wp-content\/uploads\/2025\/06\/4-reCAPTCA-v2-with-optional-legal-notice-block-250x184.png 250w, https:\/\/meetanshi.com\/blog\/wp-content\/uploads\/2025\/06\/4-reCAPTCA-v2-with-optional-legal-notice-block-700x514.png 700w, https:\/\/meetanshi.com\/blog\/wp-content\/uploads\/2025\/06\/4-reCAPTCA-v2-with-optional-legal-notice-block-403x296.png 403w, https:\/\/meetanshi.com\/blog\/wp-content\/uploads\/2025\/06\/4-reCAPTCA-v2-with-optional-legal-notice-block-120x88.png 120w\" sizes=\"auto, (max-width: 756px) 100vw, 756px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Specifying a separate code block for each reCAPTCHA type:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Render the Google reCAPTCHA v2 (\u201cI am not a robot\u201d)<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?= $block->getBlockHtml(HyvaRecaptcha::RECAPTCHA_INPUT_FIELD_BLOCK.'_recaptcha') ?><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;Render the Google reCAPTCHA v2 Invisible&nbsp;&nbsp;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?= $block->getBlockHtml(HyvaRecaptcha::RECAPTCHA_INPUT_FIELD_BLOCK.'_invisible') ?><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Render the Google reCAPTCHA v3 Invisible&nbsp;&nbsp;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?= $block->getBlockHtml(HyvaRecaptcha::RECAPTCHA_INPUT_FIELD_BLOCK) ?><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Now let\u2019s add the legal notice block (optional)<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?= $block->getBlockHtml(HyvaRecaptcha::RECAPTCHA_LEGAL_NOTICE_BLOCK) ?>\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">This code is used to embed the reCAPTCHA input field (likely v2 or v3) into the form (e.g., login, registration, contact form) on a Magento 2 website that uses Hyv\u00e4 theme or a custom integration.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Just like this, you can<a href=\"https:\/\/meetanshi.com\/blog\/how-to-create-a-custom-form-in-hyva\/\" target=\"_blank\" rel=\"noreferrer noopener\"> create a custom form in Hyv\u00e4<\/a>, going beyond the default Magento 2 limitation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Go ahead and try this solution to add the Google reCAPTCHA form in Magento 2<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><div class=\"meetanshi-cta\">\r\n<div class=\"cta-content-wrapper\">\r\n<span> Hyv\u00e4 Development Service<\/span>\r\n<p>Get a fast-loading store in less than 7 weeks with Hyv\u00e4 theme<\/p>\r\n<a href=\"https:\/\/meetanshi.com\/hyva-theme-development-service\" target=\"_blank\" class=\"btn-primary\">Hire Us<\/a>\r\n<\/div>\r\n<div class=\"cta-image-new\">\r\n<img decoding=\"async\" src=\"https:\/\/meetanshi.com\/blog\/wp-content\/uploads\/2025\/11\/hyva-theme-development-service.png\" alt=\"Hyva Theme Development Service\">\r\n<\/div>\r\n<\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Hyv\u00e4 theme makes your Magento 2 store faster and more maintainable. While Hyv\u00e4 smoothly runs your store, you need to take care of your&#8230;<\/p>\n","protected":false},"author":5,"featured_media":17161,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[34,5869],"tags":[],"class_list":["post-17145","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-magento","category-hyva-themes"],"acf":[],"_links":{"self":[{"href":"https:\/\/meetanshi.com\/blog\/wp-json\/wp\/v2\/posts\/17145","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/meetanshi.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/meetanshi.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/meetanshi.com\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/meetanshi.com\/blog\/wp-json\/wp\/v2\/comments?post=17145"}],"version-history":[{"count":10,"href":"https:\/\/meetanshi.com\/blog\/wp-json\/wp\/v2\/posts\/17145\/revisions"}],"predecessor-version":[{"id":23638,"href":"https:\/\/meetanshi.com\/blog\/wp-json\/wp\/v2\/posts\/17145\/revisions\/23638"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/meetanshi.com\/blog\/wp-json\/wp\/v2\/media\/17161"}],"wp:attachment":[{"href":"https:\/\/meetanshi.com\/blog\/wp-json\/wp\/v2\/media?parent=17145"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/meetanshi.com\/blog\/wp-json\/wp\/v2\/categories?post=17145"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/meetanshi.com\/blog\/wp-json\/wp\/v2\/tags?post=17145"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}