Generatore URL di login personalizzato
Nascondi wp-login.php dai bot che lo cercano di default.
Gratuito davvero. Nessuna registrazione, nessuna email, nessun limite, nessun cookie. Non salviamo l'URL che analizzi.
<?php
// Custom login URL: /secure-login instead of /wp-login.php
add_action( 'init', function () {
add_rewrite_rule( '^secure-login/?$', 'wp-login.php', 'top' );
} );
// Rewrite the login form's own links (wp_login_url, wp_logout_url, etc.) to the new slug
add_filter( 'site_url', function ( $url, $path, $scheme, $blog_id ) {
if ( strpos( (string) $path, 'wp-login.php' ) === false ) {
return $url;
}
return str_replace( 'wp-login.php', 'secure-login', $url );
}, 10, 4 );
// Block direct access to wp-login.php and wp-admin for logged-out visitors
add_action( 'init', function () {
global $pagenow;
$is_login_request = 'wp-login.php' === $pagenow
&& ! isset( $_GET['loggedout'] )
&& strpos( $_SERVER['REQUEST_URI'] ?? '', 'secure-login' ) === false;
$is_admin_request = is_admin() && ! wp_doing_ajax() && ! is_user_logged_in();
if ( $is_login_request || $is_admin_request ) {
wp_die( 'Not found', 'Not found', array( 'response' => 404 ) );
}
} );
// After activating: go to Settings > Permalinks and click "Save Changes" once,
// otherwise /secure-login returns a 404 (the rewrite rule needs flushing).A cosa serve
wp-login.php è il primo indirizzo che ogni scanner automatico prova su un sito WordPress. Senza cambiare nulla nel funzionamento del sito, spostare il login su un indirizzo che solo tu conosci elimina la stragrande maggioranza dei tentativi di accesso automatizzati. Da testare in staging prima di applicarlo in produzione: un errore qui può bloccarti fuori dal pannello.
Domande frequenti
›Posso restare fuori dal mio stesso sito con questo snippet?
Sì, se lo installi senza prima aver salvato i permalink (Impostazioni > Permalink > Salva modifiche, per attivare la nuova regola di riscrittura) o se dimentichi il nuovo indirizzo. Testalo su una copia di staging del sito prima di metterlo in produzione, e tieni annotato da qualche parte il nuovo slug.