La respuesta depende de cómo bloqueara el acceso. En el alojamiento? O a través de un complemento? ¿Solo para el acceso entrante? Si proporciona más detalles, podemos responder mejor a sus preguntas.
Tengo este código PHP en la parte superior de mis funciones.php del tema de mi hijo:
/*
add_action (‘init’, function () {
$ bloqueado = [‘AZ’,’BG’,’BR’,’BY’,’CN’,’CO’,’FR’,’GB’,’HK’,’ID’,’IN’,’KR’,’LT’,’LV’,’MD’,’MX’,’NL’,’RO’,’RU’,’SG’,’TR’,’UA’,’VN’,’ZA’,’ZZ’];
$ ip = $ _server[‘REMOTE_ADDR’] ? ‘127.0.0.1’;
$ transient_key = ‘geoip_cc_’. MD5 ($ IP);
$ cc = get_transient ($ transient_key);
if (! $ cc) {
$ json = @file_get_contents («http://ip-api.com/json/{$ip}?fields=countrycode»);
$ data = json_decode ($ json, true);
$ cc = $ datos[‘countryCode’] ? ‘Zz’;
set_transient ($ transient_key, $ cc, 24 * hour_in_seconds);
}
if (in_array ($ cc, $ bloqueado)) {
wp_die («Acceso denegado – 403 prohibido», [‘response’ => 403]);
}
});
*/
(/ * y */ son solo para el texto aquí).
Esto solo bloquea las solicitudes entrantes, es decir, las de los visitantes a su sitio web. No evitará consultas para actualizaciones de WordPress, complementos o temas que se envían desde su WordPress.