Comment from Ashley Liu is correct - sometimes the problem is more insidious and the only solution is performing a site wide search for files calling wp_no_robots().
For some installations unchecking settings>reading>Search_Engine_Visibility does not have any effect as the wp_no_robots function might be called by some other code element.
As a result the site remains crippled to indexing by search engines. I have run into this problem and have spent hours trying to track down the function that calls the wp_no_robots() file.
Also, the majority of posts on this topic seem to imply that it is caused by some mysterious setting in Yoast SEO. However, my site does not use the the Yoast seo plugin. I suspect other users are facing this problem.
So I suggest, as a stop gap measure, doing the unthinkable and making a change to the wp_no_robots function in the general-template.php file to get your site indexed ASAP.
I found this code at this original post. It suggest that you change wp_no_robots() from:
function wp_no_robots() {
if ( get_option( 'blog_public' ) ) {
echo "<meta name='robots' content='noindex,follow' />\n";
return;
}
echo "<meta name='robots' content='noindex,nofollow' />\n";
to:
function wp_no_robots() {
if ( get_option( 'blog_public' ) ) {
echo "<meta name='robots' content='index,follow' />\n";
return;
}
echo "<meta name='robots' content='index,follow' />\n";
Then after once again being found by google, you can begin the task of performing a global search using a utility with a "search in files" feature for files calling the wp_no_robots functions to see if anything seems out of place. (notepad++ has a file search feature).
Once the problem has been identified, make sure that you replace your modified general-template.php with your original backed up file.