Oggi dico addio a Rank Math. Per un po' di tempo è stato uno dei plugin fissi di questa casa e durante il suo primo periodo ha svolto la sua missione con dignità e, per essere onesti, devo dire che non ha causato grossi problemi né sono apparsi bug di quelli che corrono in cerchio agitando le braccia. Ma le cose sono cambiate.
Sfondo
Se cercate confronti tra plugin SEO, troverete per lo più confronti tra i due plugin più utilizzati: Rank Math e Yoast. Questo accade perché in molti di questi confronti l'interesse a inserire un link di affiliazione è successivo a una recensione positiva in cui le critiche vengono solitamente evitate per ovvi motivi.
Dopo aver provato la versione gratuita per un po', a metà del 2021 ho iniziato a usare Rank Math Pro e ho esaminato alcune delle sue nuove funzionalità e modifiche. Ora ho deciso di disinstallarlo e di tornare a The Seo Framework, principalmente per tre motivi che spiego in ordine di importanza e che sono puramente apprezzamenti personali.
1. Non è più leggero
È un dato di fatto: si è ingrassato. Anche se Rank Math è molto completo e non è uno dei plugin più pesanti (Yoast lo è ancora di più), perché è possibile disattivare i moduli che non si desidera utilizzare, è diventato più grasso. E questo non è un bene. La velocità di caricamento è ancora uno dei principali fattori di posizionamento per la maggior parte dei motori di ricerca.
L'idea di un "coltellino svizzero" che vi faccia risparmiare l'uso di altri plugin può essere allettante all'inizio, finché non si scopre che anche usando cinque, sei o più plugin leggeri per fare tutte le cose che fa Rank Math si consumano meno risorse.
2. Non è più economico
Anche se questo, per alcuni, sarà relativo, Rank Math PRO ha aumentato il suo interessante prezzo minimo da 59 a 95,88 dollari. Si tratta di un aumento di 36,88 dollari in un colpo solo. Un prezzo finale quasi vicino al costo medio di un hosting modesto. Sebbene le ragioni addotte per l'aumento possano avere un buon senso commerciale, ritengo che questo aumento avrebbe potuto essere progressivo per i clienti di lunga data e che sia troppo alto per la licenza di base, tipicamente utilizzata dai blogger per i siti personali con un reddito modesto o nullo.
A loro discolpa devo dire che quando mi hanno chiesto i motivi della disdetta mi hanno proposto di mantenere il prezzo che ho pagato negli ultimi tre anni con un rimborso della differenza, ma ho deciso di procedere con il cambio perché prima o poi l'aumento sarebbe arrivato e perché ero più preoccupato del punto 1.
3. L'insistenza sull'IA generativa
Mentre le nuove opzioni aggiunte di recente erano relativamente ragionevoli e utili, ora sembra che vogliano incorporare storie a pagamento basate sull'intelligenza artificiale per generare contenuti che non mi interessano e altre funzionalità piuttosto inutili.
Hanno persino inserito l'intelligenza artificiale per le prime risposte automatiche ai ticket di assistenza. Una cosa che ritengo piuttosto scadente per un servizio a pagamento. È solo una goffa automazione con collegamenti alla loro documentazione per "filtrare" le richieste che ritarda il tempo di risposta finale.
Tutto ciò che fa un plugin SEO può essere fatto senza.
Non c'è assolutamente nulla che un plugin SEO faccia che non si possa fare da soli con un po' di codice. Direi addirittura che potete posizionarvi altrettanto bene senza usare alcun plugin SEO. Sono stato per molti anni senza utilizzarli e non ho mai subito alcun crollo evidente nel mio modesto ma necessario posizionamento.
Questi plugin devono essere visti come un aiuto, uno strumento di supporto. Mai come una soluzione o una pozione miracolosa.
La prima domanda che mi pongo sempre prima di installare un plugin è: posso fare quello che sto annunciando senza usare un plugin? Se la risposta è sì, lo provo.
Se preferite non complicarvi la vita o non avete il coraggio di farlo, potete utilizzare un plugin. Ma cercate di scegliere plugin leggeri che non sacrificano il tempo di caricamento.
Avvertenza: nulla di tutto ciò deve essere interpretato come soluzione generale o universale, perché si tratta di soluzioni limitate alle condizioni specifiche del mio ambiente. Dovrete studiare il vostro.
Migrare da Rank Math a The SEO Framework
Il Seo Framework è un plugin gratuito creato da Sybre Waaijer che ha alcune versioni a pagamento con estensioni premium e altri miglioramenti. I suoi sviluppatori affermano che è "l'unico plugin SEO che segue alla lettera le linee guida di Google per i webmaster".
Non includendo fischietti e fischietti, è molto più leggero, perché si concentra sulle funzioni di base necessarie e si nota subito un notevole miglioramento delle prestazioni sia dell'area di amministrazione, sia della pagina, sia del peso del DB. Con la modifica è sceso da 623Mb a 448Mb.
Il processo di migrazione è spiegato qui.
*L'ordine logico per la migrazione è quello di installare prima il SEO Framework SENZA disabilitare o disinstallare Rank Math, perché avremo bisogno non solo di importare i suoi dati, ma anche di recuperare i dati da altre funzioni, se le stavate usando.
*Prima di installare The SEO Framework, vi consiglio di scaricare una copia del vostro robots.txt nel caso in cui abbiate delle impostazioni personalizzate, poiché il plugin ne crea uno nuovo e lo sovrascrive. E se state cercando come impostare le briciole di pane con The SEO Framework, lo trovate qui.
È possibile installarlo nel modo tradizionale dalla gestione dei plugin di WP o scaricando e installando il programma di installazione "Extension Manager" dalla loro pagina. In entrambi i casi, per importare i dati di Rank Math è necessaria un'estensione chiamata Transport, fornita nel download. Entrambi i metodi sono spiegati nella documentazione.
Quando si esegue Transport, si seleziona Rank Math, si seleziona ciò che si desidera importare e si esegue. Il processo è veloce. Questo blog ha già migliaia di voci e il processo è stato completato in meno di un minuto.
Il prossimo passo logico sarebbe quello di configurare il plugin e disinstallare "Extension Manager" e sbarazzarsi di Rank Math, ma prima torniamo a Rank Math per scaricare alcuni file che ci serviranno.
Le prime copie che salveremo saranno i file di configurazione completi, nel caso in cui dovessimo pentirci o volessimo ricrearli in seguito per recuperare qualcosa di specifico.
Lo faremo da Rank Math SEO/ Status e dagli strumenti.
Alternative per le funzioni Rank Math
Rank Math ha una serie di funzioni che The SEO Framework non ha. In linea di principio va bene, ma quando il plugin è difettoso, il bug si diffonde a tutte queste funzioni.
Queste funzioni andranno perse quando verranno disinstallate, quindi sarà nostra premura recuperarle in altri modi.
Il vantaggio è che, anche se li abbiamo separati, avremo un maggiore controllo su di loro e sarà anche più facile risolvere i problemi avendoli isolati.
Reindirizzamenti
Rank Math consente di impostare reindirizzamenti automatici 301 (e altri) quando si cambia un URL o si elimina un post o una pagina. Se abbiamo utilizzato questo strumento, andiamo sul plugin e scarichiamo una copia dell'elenco dei reindirizzamenti effettuati.
Dal menu Rank Math SEO/ Reindirizzamenti/Esportazione si raggiunge lo strumento"Importazione ed esportazione". Facendo clic su di esso(1) si trova questa schermata.
Le opzioni(2) e(3) saranno scaricate solo per avere due copie in quei formati e per poter recuperare i redirect manualmente (se non sono molti) o l'intero gruppo con lo strumento di importazione del plugin"Redirection" nel caso in cui qualcosa vada storto o se si sceglie di usare questo plugin invece di inserirli manualmente nell' .htaccess.
L'opzione più sicura è la(4), perché in questo modo si scriveranno tutti i reindirizzamenti effettuati da Rank Math nel file .htaccess. Una volta cliccato su"Synchronise with the .htaccess" (Sincronizza con l'htaccess), andate nell'htaccess e controllate che i reindirizzamenti siano stati aggiunti; dovrebbero apparire proprio alla fine del file, come mostrato nell'immagine sottostante.
Tabelle dei contenuti
L'aggiornamento 1.0.104 di Rank Math, nella versione gratuita del 19 dicembre 2022, ha aggiunto un nuovo blocco per l'indice. Se abbiamo aggiunto tabelle utilizzando questo blocco di Rank Math, quando lo disattiviamo ci troveremo di fronte a questo testo:
"Il vostro sito non include il supporto per il blocco rank-math/toc. È possibile lasciare questo blocco intatto, convertire il suo contenuto in un blocco HTML personalizzato o rimuoverlo del tutto".
La buona notizia è che se si lascia così, le tabelle saranno ancora visualizzate, la cattiva è che se si cerca di modificarle o di rimuoverle, non sarà possibile aggiungerle di nuovo. Quindi, per il momento, le lasceremo così come sono e cercheremo un sostituto.
L'opzione più semplice e veloce è quella di utilizzare uno dei plugin più leggeri ed efficienti che ho provato per le tabelle dei contenuti: Simple TOC, in quanto non aggiunge JavaScript o CSS a meno che non venga attivato il menu a fisarmonica.
Indice dei contenuti senza plugin
Se non volete usare un plugin e preferite complicarvi un po' la vita, potete provare questi due metodi(1) e(2). Ho provato entrambi i metodi e ho deciso di scegliere il plugin perché alcuni bug mi hanno convinto che il plugin era il metodo più veloce, efficace e sicuro.
Se non avete molte tavole, dovrete solo sostituirle una per una a mano.
Tuttavia, se ne avete molti (come nel mio caso) potete individuarli facilmente. Per farlo, andate in phpMyAdmin, selezionate il vostro database e nella scheda "Cerca" in parole o valori digitate "rank-math/toc-block"(1), selezionate "la frase esatta come sottostringa"(2) e la tabella "wp-posts"(3) e fate clic su "Continua" (4).
Questo mostrerà un elenco di tutti i post in cui è stato aggiunto un blocco Rank Math table of contents, la data, il titolo del post o della pagina e persino lo slug dell'url.
Ora è il momento di sostituirli, nel mio caso li ho sostituiti con un blocco riutilizzabile che ho creato con GenerateBlocks Pro, inserendo il blocco Simple TOC all'interno di un contenitore che ho stilizzato per adattarlo all'aspetto delle tabelle che avevo inserito con Rank Math. Potete vedere la formattazione nella tabella in cima a questo post.
In questo modo posso inserirli automaticamente dove voglio e farli visualizzare, o meno, a seconda dei titoli di ogni post grazie a GeneratePress Elements, cosa che il plugin Simple TOC non ci permette di fare.
Informazioni sul blocco nativo del sommario in WordPress
Questo blocco è stato aggiunto come blocco sperimentale in Gutenberg 13.3.0 nel maggio 2022 e alcuni blog dissero all'epoca che sarebbe stato integrato in WP 6.1, ma non era vero. Il punto è che qualcuno pensava che fosse stato rimosso dal tag "sperimentale", ma all'epoca non è apparso perché WordPress 6.1 ha integrato dalla versione 13.1 alla 14.1 e l'indice fa parte di Gutenberg 14.4.0. Ad oggi non c'è ancora una data. Quindi dovremo continuare ad aspettare che sia stabile e integrato come parte del core.
L'altro giorno ho chiesto al repository se ci fosse una roadmap per questo e Birgit Pauli-Haack mi ha risposto così .
"Il blocco dell'indice è ancora un progetto in corso. Non ci sono ancora tempistiche disponibili per l'uscita del blocco dalla sua fase sperimentale".
Se volete provarlo, al momento potete farlo solo installando il plugin Gutenberg test.
Immagine SEO
Rank Math dispone di un modulo chiamato SEO delle immagini. Anche se non tutti coloro che si occupano di posizionamento danno troppo valore a questo aspetto, per un blog come questo, con un grande volume di vignette, è interessante posizionare le immagini perché generano una quantità non trascurabile di traffico organico che di solito è relativamente stabile.
In realtà è un po' un placebo, perché inietta il titolo del post nell'ALT dell'html risultante.
Cioè, viene applicato dinamicamente solo quando il contenuto viene visualizzato, il contenuto salvato non viene modificato. Non riempie i campi ALT mancanti in WordPress, ma è meglio di niente mentre si riempiono quelli che sono stati tralasciati.
Questo può essere fatto anche con un paio di funzioni e filtri da aggiungere al file functions.php del nostro template.
Snippet per aggiungere ALT (titolo della voce) a tutte le immagini
//Establecer el título de la entrada como texto alternativo de imagenes en post y páginas. Si existe Alt no hará nada
function add_alt_tags( $content ) {
preg_match_all( '/<img (.*?)\/>/', $content, $images );
if ( ! is_null( $images ) ) {
foreach ( $images[1] as $index => $value ) {
if ( preg_match( '/alt=""/', $value ) ) {
$new_img = str_replace(
'alt=""',
'alt="' . esc_attr( get_the_title() ) . ' '. $index . '"',
$images[0][$index] );
$content = str_replace(
$images[0][$index],
$new_img,
$content );
}
}
}
return $content;
}
add_filter( 'the_content', 'add_alt_tags', 99999 );
Snippet per aggiungere ALT (titolo della voce) all'immagine in primo piano
//Establecer el título de la entrada como ALT de la imagen destacada
function lwp_37481_featured_alt_text($metadata, $object_id, $meta_key, $single) {
if(isset($meta_key) && $meta_key == '_wp_attachment_image_alt'
&& get_post_thumbnail_id() == $object_id
&& $single === true
){
$original_value = get_post_meta(
$object_id, '_wp_attachment_image_alt', false
);
if(empty($original_value)){
return get_the_title();
}
}
return $metadata;
}
add_filter('get_post_metadata', 'lwp_37481_featured_alt_text', 10, 4);
Editor visuale di tag e categorie
Un'altra opzione curiosa e interessante se si posizionano i tag (qualcosa che i SEO di solito scartano e addirittura consigliano di non indicizzare) che può dare qualche gioia se si lavora bene è che Rank Math ha aggiunto l'editor TinyMCE alle categorie e ai tag per poter aggiungere immagini e dare un formato più attraente al testo, come se fosse un post.
Quando si disinstalla Rank Math l'editor scompare, ma può essere recuperato, anche con un paio di funzioni da inserire in functions.php.
Attenzione: per le categorie, il codice funziona come dovrebbe, ma per i tag non nasconde il vecchio campo della descrizione e non riesce ad aggiungere la didascalia, quindi se non viene aggiunta o se viene aggiunta come singolo paragrafo sotto l'immagine, altrimenti funziona.
Ecco il risultato. A sinistra il semplice editor di tag nativo e a destra TinyMCE dopo l'aggiunta dello snippet.
Snippet per le etichette:
/* Añade editor TinyMCE a etiquetas */
if( is_admin() ) {
// Eliminar filtrado de HTML
remove_filter( 'pre_term_description', 'wp_filter_kses' );
remove_filter( 'term_description', 'wp_kses_data' );
// Agregar nuevo campo de descripcion
add_filter('edit_tag_form_fields', 'filter_wordpress_tag_editor');
function filter_wordpress_tag_editor($tag) {
?>
<table class="form-table">
<tr class="form-field">
<th scope="row" valign="top"><label for="description"><?php _ex('Description', 'Taxonomy Description'); ?></label></th>
<td>
<?php
$settings = array('wpautop' => true, 'media_buttons' => true, 'quicktags' => true, 'textarea_rows' => '15', 'textarea_name' => 'description' );
wp_editor(html_entity_decode($tag->description , ENT_QUOTES, 'UTF-8'), 'description1', $settings);
?>
<br />
<span class="description"><?php _e('The description is not prominent by default; however, some themes may show it.'); ?></span>
</td>
</tr>
</table>
<?php
}
// Oculta el campo antiguo de descripción
add_action('admin_head', 'remove_default_tag_description');
function remove_default_tag_description()
{
global $current_screen;
if ( $current_screen->id == 'edit-tag' )
{
?>
<script type="text/javascript">
jQuery(function($) {
$('textarea#description').closest('tr.form-field').remove();
});
</script>
<?php
}
}
}
E quello delle categorie:
/* Añadir editor TinyMCE a categorías */
if( is_admin() ) {
// Eliminar filtrado de HTML
remove_filter( 'pre_term_description', 'wp_filter_kses' );
remove_filter( 'term_description', 'wp_kses_data' );
// Agregar nuevo campo de descripcion
add_filter('edit_category_form_fields', 'filter_wordpress_category_editor');
function filter_wordpress_category_editor($tag) {
?>
<table class="form-table">
<tr class="form-field">
<th scope="row" valign="top"><label for="description"><?php _ex('Description', 'Taxonomy Description'); ?></label></th>
<td>
<?php
$settings = array('wpautop' => true, 'media_buttons' => true, 'quicktags' => true, 'textarea_rows' => '15', 'textarea_name' => 'description' );
wp_editor(html_entity_decode($tag->description , ENT_QUOTES, 'UTF-8'), 'description1', $settings);
?>
<br />
<span class="description"><?php _e('The description is not prominent by default; however, some themes may show it.'); ?></span>
</td>
</tr>
</table>
<?php
}
// Oculta el campo antiguo de descripción
add_action('admin_head', 'remove_default_category_description');
function remove_default_category_description()
{
global $current_screen;
if ( $current_screen->id == 'edit-category' )
{
?>
<script type="text/javascript">
jQuery(function($) {
$('textarea#description').closest('tr.form-field').remove();
});
</script>
<?php
}
}
}
*Mi dispiace di non ricordare dove ho trovato questi frammenti per dare credito ai loro autori, ma se li troverò lo farò.
IndiceOra
Rank Math ha integrato Index Now nella versione 3.0.5 nel gennaio 2022.
Come funziona IndexNow?
Il protocollo funziona consentendo ai siti web di inviare una sola volta gli URL all'API IndexNow, che viene condivisa con tutti i motori di ricerca partecipanti. Pertanto, è sufficiente inviare le modifiche e gli URL del sito una sola volta e tutti i motori di ricerca partecipanti saranno a conoscenza delle ultime modifiche apportate al sito, per effettuare il crawling, l'indicizzazione e riflettere tali modifiche prima nei risultati di ricerca.
Sebbene l'utilizzo di IndexNow non garantisca che i motori di ricerca effettuino il crawling o l'indicizzazione delle pagine, almeno si può essere certi che abbiano ricevuto la notifica delle modifiche.
La SEO non riguarda solo Google: sono cinque i motori di ricerca che partecipano a IndexNow:
Microsoft Bing, Naver, Seznam.cz, Yandex e Yep.
Non c'è alcun problema a continuare a usarlo, avete due alternative.
1. Utilizzate il plugin Microsoft Bing IndexNow che troverete nel repository di WordPress. Quando lo si installa, viene già creata una chiave API. Potete lasciarla in automatico e dimenticarvene. Ogni volta che si pubblica o si modifica un post, questo verrà inviato a IndexNow.
2. Inviare gli URL manualmente dal browser come descritto qui. Per qualsiasi altra domanda, consultare le FAQ.
rel="sponsorizzato
Sebbene sia ancora possibile aggiungere un nofollow ai link a pagamento e di affiliazione, Google consiglia di aggiungere il rel="sponsored" a questi link.
Rank Math ha aggiunto nella sua casella di collegamento la possibilità di aggiungere questo tag con un solo clic.
Ora non c'è altra scelta che aggiungerli manualmente, poiché è difficile trovare una soluzione automatica che "sappia" con certezza quali sono i link affiliati o meno.
La struttura si presenta così e basta modificare il blocco come html per inserire il tag.
<a rel="sponsored" href="https://ejemplo.com">Texto del enlace</a>
Disinstallazione completa di Rank Math
Ora è il momento di eliminare il plugin. Rank Math offre un filtro per la rimozione completa di tutti i dati di Rank Math.
/**
* Filtro para eliminar datos de Rank Math de la base de datos
*/
add_filter( 'rank_math_clear_data_on_uninstall', '__return_true' );
Questo codice deve essere inserito nel file rank-math.php nella cartella del vostro template (o nel functions.php) e quando tornerete all'elenco dei plugin, apparirà questo messaggio che vi avvertirà che quando lo disattiverete e cancellerete il plugin, tutti i dati saranno cancellati
Sorpresa, la cancellazione dei dati non era tale.
Molti sviluppatori creano i plugin in modo tale che quando li si reinstalla si riottiene parte dell'ultima configurazione e non tutti hanno un'opzione di disinstallazione completa. Altri promettono che la pulizia è completa, ma non lo è, perché le patate.
Questi dati dovrebbero essere cancellati automaticamente ogni 30 giorni, ma come si può vedere nelle immagini sottostanti, abbiamo ancora quattro tabelle per un totale di oltre 137 Mb con resti di Rank Math risalenti a più di un anno fa.
Questi sono quattro:
wp_actionscheduler_actions
wp_actionscheduler_logs
wp_actionscheduler_claims
wp_actionscheduler_groups
Per svuotare queste tabelle ho usato Advanced Database Cleaner Pro, ma è possibile farlo anche da phpMyAdmin.
Queste quattro tabelle sono create e popolate da plugin come Woocommerce, Calendario eventi, WP Rocket, Rank Math e altri.
Se non si utilizzano questi plugin, è possibile svuotare queste tabelle senza problemi. Tuttavia, non fa mai male controllarle e fare prima un backup del database o avere un backup completo recente, per sicurezza.
Che tu faccia un backup prima. Hai già fatto un backup? Allora non dire che non ti ho avvertito.
Una volta effettuata la pulizia, basta dare un'occhiata alla configurazione di The SEO Framework per scoprire che c'è ben poco da modificare, poiché le basi sono preconfigurate.
Oltre all'impatto positivo sulla velocità di caricamento che ha la disinstallazione di Rank Math, un'altra cosa che ho notato subito dopo è che il nuovo plugin, che usavo in passato, non ha bisogno di alcuna attenzione, una volta impostato ci si può dimenticare di lui.
Tradurre Meta title e Meta description di The Seo Framework per ogni lingua (se si usa Polylang)
Il Seo Framework è compatibile con Polylang, WPML, MultilingualPress e in parte con TranslatePress, ma in Polylang non compaiono le stringhe del plugin per tradurre il Meta title e il Meta description di ciascuna lingua nella pagina principale, ossia /es/, /en/, /de/ ecc.
Inoltre, nella guida di Polylang si consiglia che la pagina iniziale del blog sia una pagina statica e non dinamica per poter aggiungere queste stringhe, il che complica ulteriormente le cose.
Tuttavia, dopo aver cercato a lungo , ho trovato un modo per registrarli in Polylang e tradurli. Anche se il codice ha quasi sette anni e non è il modo migliore per farlo, perché potrebbe rompersi con un futuro aggiornamento del plugin, ma per ora funziona.
//Para añadir en el functions.php de tu plantilla
if ( function_exists( 'the_seo_framework' ) ) {
$the_seo_framework = the_seo_framework();
$description = $the_seo_framework->get_option( 'homepage_description' );
pll_register_string( 'homepage_description', $description ?: 'Empty description!', 'seo_framework', false );
}
Mappa indipendente dalla lingua in The Seo Framework con Polylang
In linea di massima, nell'amministrazione del plugin si troverà una sola mappa che si trova a:
https://jrmora.com/sitemap.xml
Tuttavia, se si utilizza Polylang, a seconda dell'installazione, sarà possibile trovare le mappe per ogni lingua utilizzata al fine di inviarle a Bing Webmaster Tools e Google Search Console per il crawling in vari formati (esempio di mappa inglese):