Idag säger jag adjö till Rank Math. Under ett tag var det en av de fasta plugins i detta hus och under sin första period uppfyllde den sitt uppdrag med värdighet och, för att vara rättvis, måste jag säga att det inte har orsakat stora problem eller har dykt upp buggar av dem som springer i cirklar och viftar med armarna. Men saker och ting har förändrats.
Bakgrund
Om du letar efter jämförelser av SEO-plugins kommer du oftast att hitta jämförelser mellan de två mest använda plugin-programmen: Rank Math och Yoast. Detta händer eftersom det i många av dessa jämförelser finns ett intresse av att placera en affiliate-länk efter en positiv recension där kritik vanligtvis undviks av uppenbara skäl.
Efter att ha provat sin gratisversion ett tag började jag i mitten av 2021 använda Rank Math Pro och jag har granskat några av dess nya funktioner och förändringar. Nu har jag bestämt mig för att avinstallera det och gå tillbaka till The Seo Framework, främst av tre skäl som jag förklarar i storleksordning och som är rent personliga uppskattningar.
1. Den är inte längre ljus
Det är ett faktum att det har blivit fetare. Även om Rank Math är mycket komplett och inte är ett av de tyngsta pluginsen (Yoast är ännu tyngre) eftersom du kan avaktivera de moduler som du inte vill använda, har det blivit fetare. Och detta är inte bra. Laddningshastighet är fortfarande en av de viktigaste positioneringsfaktorerna för de flesta sökmotorer.
Tanken på en "schweizisk armékniv" -plugin som sparar dig användningen av andra plugins kan vara tilltalande till en början tills du upptäcker att även om du använder fem, sex eller fler lätta plugins för att göra alla de saker som Rank Math gör förbrukar mindre resurser.
2. Det är inte längre billigt
Även om detta, för vissa människor, kommer att vara relativt, höjde Rank Math PRO sitt attraktiva minimipris från $ 59 till $ 95.88. Det är en ökning med $36,88 i ett enda slag. Ett slutpris som ligger nästan nära den genomsnittliga kostnaden för blygsam hosting. Även om de skäl som anges för höjningen kan vara affärsmässiga, anser jag att denna höjning kunde ha varit progressiv för långvariga kunder och är för hög för deras grundläggande licens, som vanligtvis används av bloggare för personliga webbplatser med blygsamma eller inga inkomster.
Till deras försvar måste jag säga att när de bad om skälen till avbeställningen erbjöd de mig att behålla det pris jag hade betalat de senaste tre åren och få mellanskillnaden återbetald, men jag bestämde mig för att genomföra ändringen eftersom höjningen förr eller senare skulle komma och eftersom jag var mer bekymrad över punkt 1.
3. Kravet på generativ AI
Medan de nya alternativen som de nyligen lade till var relativt rimliga och användbara, verkar de nu vara benägna att bädda in betalda AI-baserade berättelser för att generera innehåll som jag inte bryr mig om och andra ganska onödiga funktioner.
De har till och med lagt in AI för de första automatiserade svaren på sina supportbiljetter. Något som jag tycker är ganska lamt för en betaltjänst. Det är bara en klumpig automatisering med länkar till deras dokumentation för att "filtrera" förfrågningar som försenar den slutliga svarstiden.
Allt som ett SEO-plugin gör kan göras utan det.
Det finns absolut ingenting som ett SEO-plugin gör som du inte kan göra på egen hand med lite kod. Jag skulle till och med gå så långt som att säga att du kan ranka lika bra utan att använda något SEO-plugin. Jag har varit i många år utan att använda dem och jag har aldrig drabbats av några märkbara kraschar i min blygsamma men nödvändiga positionering.
Dessa plugins bör ses som ett hjälpmedel, ett stödverktyg. Aldrig som en lösning eller en mirakeldryck.
Den första frågan jag alltid ställer mig själv innan jag installerar ett plugin är: Kan jag göra det jag vill göra utan att använda ett plugin? Om svaret är ja, försöker jag det.
Om du föredrar att inte komplicera ditt liv eller om du inte vågar, kan du använda ett plugin. Men försök att välja lättviktiga plugins som inte offrar laddningstiden.
Varning: ingenting här ska tolkas som allmänna eller universella lösningar eftersom de är begränsade till de specifika förhållandena i min miljö. Du måste studera din egen.
Migrera från Rank Math till SEO Framework
Seo Framework är ett gratis plugin skapat av Sybre Waaijer som har några betalda versioner med premiumtillägg och andra förbättringar. Dess utvecklare hävdar att det är "det enda SEO-pluginet som följer Googles riktlinjer för webbansvariga till punkt och pricka".
Genom att inte inkludera visselpipor och visselpipor är det mycket lättare, eftersom det fokuserar på de nödvändiga grundläggande funktionerna och du märker omedelbart en märkbar förbättring av prestanda för både administrationsområdet, sidan och vikten på DB. Med förändringen har den sjunkit från 623Mb till 448Mb.
Migrationsprocessen förklaras här.
* Den logiska ordningen för migreringen är att installera SEO Framework först UTAN att inaktivera ELLER avinstallera Rank Math eftersom vi inte bara behöver importera dess data, vi behöver också hämta data från andra funktioner, om du använde dem.
* Innan du installerar SEO Framework rekommenderar jag att du laddar ner en kopia av din robots.txt om du har några anpassade inställningar eftersom plugin-programmet skapar en ny och skriver över den. Och om du letar efter hur du ställer in brödsmulor med The SEO Framework, är det här.
Du kan installera det på traditionellt sätt från WP plugin-hanteringen eller genom att ladda ner och installera installationsprogrammet "Extension Manager" från deras sida. Hur som helst, för att importera Rank Math-data behöver vi ett tillägg som heter Transport som tillhandahålls i nedladdningen. Båda metoderna förklaras i deras dokumentation.
När vi kör Transport väljer vi Rank Math, väljer vad vi vill importera och kör det. Processen är snabb. Den här bloggen har redan tusentals poster och processen slutfördes på mindre än en minut.
Nästa logiska steg skulle vara att konfigurera plugin och avinstallera "Extension Manager" och bli av med Rank Math, men låt oss först gå tillbaka till Rank Math för att ladda ner flera filer som vi behöver.
De första kopiorna vi sparar är de fullständiga konfigurationsfilerna, om vi ångrar oss eller vill återskapa dem senare för att återställa något specifikt.
Vi kommer att göra detta från Rank Math SEO / Status och verktyg.
Alternativ för Rank Math-funktioner
Rank Math har ett antal funktioner som The SEO Framework inte har. Det är bra i princip, men när plugin-programmet är buggigt kommer buggen att spridas till alla dessa funktioner.
Dessa funktioner går förlorade när de avinstalleras, så vi kommer att se till att återställa dem på andra sätt.
Fördelen med detta är att vi, även om vi har dem var för sig, får bättre kontroll över dem och det blir också lättare att lösa problem genom att ha dem isolerade.
Omdirigeringar
Rank Math låter dig ställa in automatiska 301 (och andra) omdirigeringar när du ändrar en URL eller tar bort ett inlägg eller en sida. Om vi har använt detta verktyg kommer vi att gå till plugin och ladda ner en kopia av listan över de omdirigeringar vi gjort.
Från menyn Rank Math SEO/ Omdirigeringar/Export kommer vi till verktyget"Import och export". När du klickar där(1) kommer du till denna skärm.
Alternativ(2) och(3) kommer att laddas ner bara för att ha två kopior i dessa format och för att kunna hämta omdirigeringarna manuellt (om det inte finns många) eller hela batchen med importverktyget för plugin-programmet"Redirection" om något går fel eller om vi väljer att använda detta plugin istället för att lägga dem manuellt i .htaccess.
Det säkraste alternativet nu är(4) eftersom detta kommer att skriva alla omdirigeringar som du har gjort från Rank Math till din .htaccess. När du har klickat på"Synkronisera med .htaccess" navigerar du till .htaccess och kontrollerar att omdirigeringarna har lagts till, de ska visas precis i slutet av filen som visas i bilden nedan.
Innehållsförteckningar
Uppdateringen 1.0.104 av Rank Math, i sin gratisversion av den 19 december 2022, lade till ett nytt innehållsförteckningsblock. Om vi har lagt till tabeller med hjälp av detta Rank Math-block kommer vi att konfronteras med denna text när vi avaktiverar det:
"Din webbplats har inte stöd för rank-math/toc-blocket. Du kan lämna det här blocket intakt, konvertera dess innehåll till ett anpassat HTML-block eller ta bort det helt och hållet."
Den goda nyheten är att om du låter det vara som det är kommer tabellerna fortfarande att visas, men den dåliga nyheten är att om du försöker redigera dem eller ta bort dem kommer du inte att kunna lägga till dem igen. Så vi lämnar dem som de är för tillfället och letar efter en ersättare.
Det enklaste och snabbaste alternativet är att använda ett av de lättaste och mest effektiva insticksprogrammen jag har testat för innehållsförteckningar: Simple TOC, eftersom det inte lägger till JavaScript eller CSS om inte dragspelsmenyn är aktiverad.
Innehållsförteckning utan plugin
Om du inte vill använda ett plugin och föredrar att komplicera ditt liv lite, kan du prova dessa två metoder(1) och(2). Jag provade båda sätten och bestämde mig för att välja plugin eftersom vissa buggar övertygade mig om att plugin var det snabbaste, mest effektiva och säkraste sättet.
Om du inte har så många kort behöver du bara byta ut dem en efter en för hand.
Men om du har många av dem (som var mitt fall) kan du enkelt hitta dem. För att göra detta går du till phpMyAdmin, väljer din databas och på fliken "Sök" i ord eller värden skriver du "rank-math/toc-block" (1), väljer "den exakta frasen som substring" (2) och tabellen "wp-posts" (3) och klickar på "Fortsätt" (4).
Detta kommer att visa dig en lista över alla de inlägg där du har lagt till ett Rank Math innehållsförteckningsblock, datumet, titeln på inlägget eller sidan och till och med url-sluggen.
Nu är det dags att ersätta dem, i mitt fall ersatte jag dem med ett återanvändbart block som jag lade ut med GenerateBlocks Pro genom att sätta Simple TOC-blocket inuti en behållare som jag stylade för att matcha utseendet på de tabeller jag hade lagt in med Rank Math. Du kan se formateringen i tabellen högst upp i det här inlägget.
På så sätt kan jag automatiskt infoga dem var jag vill och få dem att visas, eller inte, beroende på rubrikerna i varje inlägg tack vare GeneratePress Elements, eftersom det här är något som Simple TOC-pluginet inte tillåter oss att göra.
Om det inbyggda blocket för innehållsförteckning i WordPress
Detta block lades till som ett experimentellt block i Gutenberg 13.3.0 i maj 2022 och vissa bloggar sa då att det skulle integreras i WP 6.1, men det var inte sant. Poängen är att någon trodde att det hade tagits bort från taggen "experimentell" men det verkade inte vid den tiden eftersom WordPress 6.1 integrerades från version 13.1 till 14.1 och innehållsförteckningen är en del av Gutenberg 14.4.0. Från och med idag finns det inget datum. Så vi måste fortsätta att vänta på att det ska bli stabilt och integreras som en del av kärnan.
Häromdagen frågade jag om det fanns någon färdplan för detta och Birgit Pauli-Haack svarade så här .
"Innehållsförteckningsblocket är fortfarande ett pågående projekt. Det finns ännu inga tillgängliga tidsramar för när blocket kommer ut ur sin experimentella fas."
Om du vill prova det kan du för närvarande bara göra det genom att installera Gutenberg-testpluginet.
SEO för bilder
Rank Math har en modul som kallas image SEO. Även om inte alla som arbetar med positionering ger för mycket värde åt denna aspekt, är det för en blogg som denna, med en stor volym vinjetter, intressant att positionera bilder eftersom de genererar en inte obetydlig mängd organisk trafik som vanligtvis är relativt stabil.
Det är faktiskt lite av en placebo eftersom vad den gör är att injicera titeln på inlägget i ALT för den resulterande html.
Det vill säga, det tillämpas dynamiskt endast när innehållet visas, det sparade innehållet ändras inte. Det fyller inte i de ALT-fält som saknas i WordPress, men det är bättre än ingenting medan du fyller i de fält som du har utelämnat.
Detta kan också göras med ett par funktioner och filter som vi lägger till i functions.php i vår mall.
Snippet för att lägga till ALT (titel på posten) till alla bilder
//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 för att lägga till ALT (titel på posten) till den utvalda bilden
//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);
Visuell tagg- och kategoriredigerare
Ett annat nyfiket och intressant alternativ om du placerar taggar (något som SEO vanligtvis kasserar och till och med rekommenderar att inte indexera dem) som kan ge dig lite glädje om du arbetar bra med det är att Rank Math lade till TinyMCE-redigeraren till kategorierna och taggarna för att kunna lägga till bilder och ge ett mer attraktivt format till texten, som om det var ett inlägg.
Vid avinstallation av Rank Math försvinner editorn, men den går att återskapa, bland annat med ett par funktioner att lägga in i functions.php.
Varning: för kategorier fungerar koden som den ska, men för taggar döljer den inte det gamla beskrivningsfältet och misslyckas med att lägga till bildtexten, så om den inte läggs till eller läggs till som ett enda stycke under bilden fungerar den annars.
Här är resultatet. Till vänster den enkla native tag editor och till höger TinyMCE efter att ha lagt till snippet.
Snippet för etiketter:
/* 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
}
}
}
Och det för kategorierna:
/* 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
}
}
}
*Jag är ledsen att jag inte kan komma ihåg var jag hittade dessa utdrag för att ge kredit till deras författare, om jag hittar dem kommer jag att göra det.
IndexNu
Rank Math integrerade Index Now i version 3.0.5 i januari 2022.
Hur fungerar IndexNow?
Protokollet fungerar så att webbplatser kan skicka in webbadresser till IndexNow API en gång, och sedan delas de med alla deltagande sökmotorer. Du behöver alltså bara skicka in dina webbplatsändringar och webbadresser en gång, och alla deltagande sökmotorer kommer att känna till de senaste ändringarna på din webbplats, så att de kan genomsöka, indexera och återspegla dessa ändringar tidigare i sökresultaten.
Att använda IndexNow garanterar inte att sökmotorerna kommer att genomsöka eller indexera dina sidor, men du kan åtminstone vara säker på att de har fått information om ändringarna.
SEO lever inte bara av Google, det är fem sökmotorer som deltar i IndexNow:
Microsoft Bing, Naver, Seznam.cz, Yandex och Yep.
Det är inget problem att fortsätta använda det, du har två alternativ.
1. Använd Microsoft Bing IndexNow plugin som du hittar i WordPress repository. När du installerar det skapas redan en API-nyckel. Du kan låta den vara på automatisk och glömma bort den. Varje gång du publicerar eller redigerar ett inlägg kommer det att skickas till IndexNow.
2. Skicka webbadresserna manuellt från webbläsaren enligt beskrivningen här. För andra frågor, vänligen se deras FAQ.
rel="sponsrad
Även om du fortfarande kan lägga till en nofollow till betalda länkar och affiliate-länkar , rekommenderar Google att du lägger till rel="sponsored" till dessa länkar.
Rank Math har i sin länkbox lagt till möjligheten att lägga till denna tagg med ett klick.
Nu finns det inget annat val än att lägga till dem manuellt eftersom det är svårt att hitta en automatiserad lösning som "vet" säkert vilka länkar som är eller inte är affiliatelänkar.
Strukturen ser ut så här och du behöver bara redigera blocket som html för att infoga taggen.
<a rel="sponsored" href="https://ejemplo.com">Texto del enlace</a>
Komplett avinstallation av Rank Math
Nu är det dags att döda pluginet. Rank Math erbjuder ett filter för fullständig borttagning av all Rank Math-data.
/**
* Filtro para eliminar datos de Rank Math de la base de datos
*/
add_filter( 'rank_math_clear_data_on_uninstall', '__return_true' );
Denna kod måste placeras i filen rank-math.php i mappen för din mall (eller i functions.php) och när du återvänder till listan över plugins visas detta meddelande som varnar dig för att när du avaktiverar det och tar bort plugin kommer alla data att raderas
Överraskning, radering av data var ingen sådan sak.
Många utvecklare skapar plugins på ett sådant sätt att när du installerar om dem får du tillbaka en del av den senaste konfigurationen och det är inte alla som har ett fullständigt avinstallationsalternativ. Andra lovar att upprensningen är klar, men det är den inte, för potatis.
Dessa data ska raderas automatiskt var 30:e dag, men som du kan se på bilderna nedan har vi fortfarande fyra tabeller på totalt mer än 137 Mb med rester av Rank Math som är mer än ett år gamla.
Dessa är fyra:
wp_actionscheduler_aktioner
wp_actionscheduler_loggar
wp_actionscheduler_anspråk
wp_actionscheduler_grupper
För att tömma dessa tabeller använde jag Advanced Database Cleaner Pro, men du kan också göra det från phpMyAdmin.
Dessa fyra tabeller skapas och fylls i av plugins som Woocommerce, The Events Calendar, WP Rocket, Rank Math och några andra.
Om du inte använder dessa plugins kan du tömma dessa tabeller utan problem. Det skadar dock aldrig att kontrollera dem och göra en säkerhetskopia av databasen först eller ha en ny fullständig säkerhetskopia för säkerhets skull.
Att du gör en säkerhetskopia innan. Har du redan gjort en säkerhetskopia? Säg då inte att jag inte varnade dig.
När uppstädningen är klar behöver du bara ta en titt på SEO Framework-konfigurationen för att upptäcka att det finns väldigt lite att ändra eftersom grunderna är förkonfigurerade.
Förutom den positiva inverkan på laddningshastigheten som avinstallationen av Rank Math har, är en annan sak som jag märkte strax efter att det nya plugin-programmet, som jag använde tidigare, inte behöver någon uppmärksamhet, när det väl har konfigurerats kan du glömma det.
Översätt metatitel och metabeskrivning av The Seo Framework för varje språk (om du använder Polylang)
Seo-ramverket är kompatibelt med Polylang, WPML, MultilingualPress och delvis med TranslatePress, men i Polylang visas inte plugin-strängarna för att översätta metatiteln och metabeskrivningen för varje språk på dess rotsida, dvs. /es/, /en/, /de/ etc.
Dessutom rekommenderar de i Polylang-hjälpen att bloggens startsida ska vara en statisk sida och inte en dynamisk för att lägga till dessa strängar, vilket komplicerar saker och ting ännu mer.
Men efter en hel del grävande hittade jag här ett sätt att registrera dem i Polylang för att översätta dem. Även om koden är nästan sju år gammal och det inte är det bästa sättet att göra det eftersom det kan bryta med en framtida uppdatering av plugin, men för nu fungerar det.
//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 );
}
Språkoberoende karta i Seo-ramverket med Polylang
I plugin-administrationen hittar du i princip bara en enda karta som kommer att finnas på:
https://jrmora.com/sitemap.xml
Men om du använder Polylang, beroende på din installation, kommer du att kunna hitta kartorna för varje språk du använder för att skicka dem till Bing Webmaster Tools och Google Search Console för genomsökning i olika format (exempel på engelsk karta):