reCAPTCHA ERROR: Invalid domain for site key

HtmlRecaptcha

Html Problem Overview


I have implemented my reCAPTCHA in line with as is shown in the example.

I have this script in the head tag:

<script src="https://www.google.com/recaptcha/api.js"></script>

In my form in HTML I have:

<div class="g-recaptcha" data-sitekey="my public sitekey here"></div>

But when I load the form I get this error:

>ERROR: Invalid domain for site key

I have confirmed that this is the correct site key for my domain.

The code is currently in a subdomain so I thought maybe that was the problem so I also added the subdomain to the Google reCAPTCHA admin but still get the error.

The exact same code works 100% in a different domain (with a key specific to that domain).
What could be the problem?

Html Solutions


Solution 1 - Html

In case someone has a similar issue. My resolution was to delete the key that was not working and got a new key for my domain. And this now works with all my sub-domains as well without having to explicitly specify them in the recaptcha admin area.

Solution 2 - Html

First of all, the keys are managed at https://www.google.com/recaptcha/admin#list

I ran into this error because I'm using the same key on a few different domains and I had forgotten to add one of the domains to the key.

After adding my site it took a minute or two (most likely because of cache) for things to work normally again.

Solution 3 - Html

I had the same problems I solved it. I went to https://www.google.com/recaptcha/admin and clicked on the domain and then went to key settings at the bottom.

There I disabled the the option below Domain Name Validation Verify the origin of reCAPTCHA solution

clicked on save and captcha started working.

I think this has to do with way the server is setup. I am on a shared hosting and just was transferred without notice from Liquidweb to Deluxehosting(as the former sold their share hosting to the latter) and have been having such problems with many issues. I think in this case google is checking the server but it is identifying as shared server name and not my domain. When i uncheck the "verify origin" it starts working. Hope this helps solve the problem for the time being.

Solution 4 - Html

No need to create a new key just clear site data on browser

If you change your site domain then add that domain to existing key (it's not necessary to a create new one) and save it.

https://www.google.com/recaptcha/admin#list

but google recapture has some data on browser. Clear them then it will work with your new domain enter image description here

Solution 5 - Html

I guess the quickest way is just to disable the domain check while you're developing it enter image description here

Solution 6 - Html

I was using localhost during unit testing when my recaptcha key was registered to 127.0.0.1. So I changed my browser to point to 127.0.0.1 and it started working. Although I was able to add "localhost" to the list of domains in my ReCaptcha Key Settings, I am still unable to unit test using localhost. I have to use the loopback IP address 127.0.0.1.

Solution 7 - Html

You may have inadvertently used a private key for a public key.

Solution 8 - Html

There is another point must be noted before regenerating keys that resolve 90% issue.

for example your xampp directory is C:\xampp

and htdocs folder is C:\xampp\htdocs

we want to open page called: example-cap.html and page is showing error "invalid domain for site key"

USE YOUR LOCALHOST ADDRESS in browser address like:

localhost/example-cap.html

this will resolve your issue

DONOT USE ADDRESS c:\xampp\htdocs\example-cap.html this will generate error

Solution 9 - Html

Make sure you fill in your domain name and it must not end with a path.

example

http://yourdomain.com (good)

http://yourdomain.com/folder (error)

Solution 10 - Html

I ran into this issue also and my solution was to verify I was integrating the appropriate client code for the version I had selected.

In my case, I had selected reCAPTCHA v3 but was taking client integration code for v2.

V3 looks like this:

<script src="https://www.google.com/recaptcha/api.js?render=reCAPTCHA_site_key"></script>
<script>
  grecaptcha.ready(function() {
      grecaptcha.execute('reCAPTCHA_site_key', {action: 'homepage'}).then(function(token) {
         ...
      });
  });
</script>

V2 code looks like this:

<html>
  <head>
    <title>reCAPTCHA demo: Simple page</title>
     <script src="https://www.google.com/recaptcha/api.js" async defer></script>
  </head>
  <body>
    <form action="?" method="POST">
      <div class="g-recaptcha" data-sitekey="your_site_key"></div>
      <br/>
      <input type="submit" value="Submit">
    </form>
  </body>
</html>

As for which version you have, this will be what you decided at the start of your reCAPTCHA account setup. enter image description here

Solution 11 - Html

Try to add domains without http:// and https:// e.g. example.com

Solution 12 - Html

For me, I had simply forgotten to enter the actual domain name in the "Key Settings" area where it says Domains (one per line).

Solution 13 - Html

You should set your domain for example: www.abi.wapka.mobi, that is if you are using a wapka site.

Note that if you had a domain with wapka it won't work, so compare wapka with your site provider and text it.

Solution 14 - Html

I tried for almost 4 Hours with this and finally figuring it out with guidance from here, I thought I would share my solution with you.

Ok so my domain is an addon domain. I also got "ERROR for site owner: Invalid domain for site key" I had checked that everything was correct almost a thousand times and it looked right to me, until I thought of it in terms of a desktop shortcut.

Solution:

So for an addon domain make sure that the parent url is also in the list of domains i.e: [ADDON DOMAIN].[PARENT DOMAIN].com . The addon location will be the folder that you set on your host so when using addon domains ensure to name the root with something logical.

Hope this helps someone else and thanks for the suggestions people.

Solution 15 - Html

I had the same problems. I solved it: I went to https://www.google.com/recaptcha/admin, clicked on the domain and then went to key settings at the bottom.

There I disabled the option below Domain Name Validation Verify the origin of reCAPTCHA solution.

Clicked on save and captcha started working.

Solution 16 - Html

My domain was quite complex. I took the value returned by window.location.host in the developer console and pasted that value in the recaptcha admin white list. Then I cleared the cache and reloaded the page.

Solution 17 - Html

I had a similar problem due to the fact that I forgot to show the render parameter

<script src='https://www.google.com/recaptcha/api.js?render=SITE_KEY' async defer></script>

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionBlessedHITView Question on Stackoverflow
Solution 1 - HtmlBlessedHITView Answer on Stackoverflow
Solution 2 - HtmlkqwView Answer on Stackoverflow
Solution 3 - HtmlrawrajView Answer on Stackoverflow
Solution 4 - HtmlAlupothaView Answer on Stackoverflow
Solution 5 - HtmlhugronaphorView Answer on Stackoverflow
Solution 6 - HtmlttempleView Answer on Stackoverflow
Solution 7 - HtmlsanmaiView Answer on Stackoverflow
Solution 8 - HtmlDharmendraSankhlaView Answer on Stackoverflow
Solution 9 - HtmlDapo MomoduView Answer on Stackoverflow
Solution 10 - HtmlkylestephensView Answer on Stackoverflow
Solution 11 - HtmlNangyial AhmadView Answer on Stackoverflow
Solution 12 - HtmlKirk RossView Answer on Stackoverflow
Solution 13 - HtmlswixzView Answer on Stackoverflow
Solution 14 - HtmlDean De KlerkView Answer on Stackoverflow
Solution 15 - HtmlSWQAView Answer on Stackoverflow
Solution 16 - HtmlSouradeep NandaView Answer on Stackoverflow
Solution 17 - HtmlArseniyView Answer on Stackoverflow