Come rimuovere la stringa “?m=1” dagli url

Indipendentemente da quale sia il vostro web server, può capitare che Google vi mandi questa bellissima email:

Nuovo problema di Copertura rilevato per il sito

Cliccate e approfondite… e scoprite che in realtà non è un vostro problema, ma è semplicemente dovuto da qualche sorta di bot o (nel caso usavate Blogger) di qualche sorta di linking che avete avuto in passato.

Se approfondendo scoprite che in realtà è semplicemente questa stringa (parametro in realtà) a darvi fastidio:

?m=1

Errore di reindirizzamento su Google Search Console

Provate a creare delle regole che ve la cancellino in automatico… su Apache vi basterà modificare il file .httaccess come segue:

RewriteEngine On
RewriteCond %{QUERY_STRING} ^m=1$
RewriteRule ^(.*)$ /$1? [R=301,L]

Se invece utilizzate NGINX, all’interno del vostro server (probabilmente localizzato su /etc/nginx/site-avaliable/default, modificate all’interno del /location aggiungendo questo:

if ($query_string ~ "^m=1$"){
  rewrite ^(.*)$ /$1? redirect;
}

Riavviate poi il servizio di NGINX con:

sudo service nginx restart

Ora potete cliccare su Convalida correzione e aspettare che i bot di Google capiscano che non avete nessuna sorta di errore!

Come pubblicare subito i post pianificati su WordPress

Non so a quanti di voi possa essere utile questa funzionalità, ma in certi casi può tornare utile se avete necessità di utilizzare il campo della data come vero e proprio valore da visualizzare.

Nel caso, vi basterà modificare il file functions.php, come nel caso del blocco dei media per i non admin, e inserire questa funzione:

function prevent_future_type( $post_data ) {
	if ( $post_data['post_status'] == 'future' && $post_data['post_type'] == 'post' ) {
		$post_data['post_status'] = 'publish';
	}
	return $post_data;
}
add_filter('wp_insert_post_data', 'prevent_future_type');
remove_action('future_post', '_future_post_hook');

Ora tutti i post futuri verranno pubblicati immediatamente e risulteranno come ultimi in ordine cronologico (ottimo se utilizzate i post come gestione di eventi o appuntamenti futuri ma volete che siano pubblicati subito).

Come disabilitare l’upload dei media ai non admin su WordPress

Se volete disabilitare l’upload dei Media (quindi immagini e altri file) ai non amministratori (quindi editor, contributors ecc) del vostro sito web o blog basato su WordPress, vi basterà spulciare nel vostro tema nel file functions.php e inserire:

function only_upload_for_admin( $file ) {
    if ( ! current_user_can( 'manage_options' ) ) {
        $file['error'] = 'You can\'t upload images without admin privileges!';
    }
    return $file;
}
add_filter( 'wp_handle_upload_prefilter', 'only_upload_for_admin');

Ora chiunque non è admin, semplicemente non potrà caricare file.

Come cancellare tutti i post di revisione WordPress

Se state cercando un modo per alleggerire il vostro database in cui avete WordPress, che sia per motivi di spazio fisico o per ordine anche solo mentale, che ne dite di cancellare tutti i post di revisione?

Ovviamente questa cancellazione comporterà la perdita di tutti i post di revisione (detti anche inherit).

Solo 249.599 (1/4 di milione) righe risparmiate

Quindi prima di eseguire quella bellissima query, fate un backup al vostro db per evitare perdite non volute.

DELETE FROM wordpress WHERE wp_posts.post_status = "inherit"