Cuando no es posible crear las tablas de redirecciones en el plugin de SEO Rank Math desde el escritorio de WordPress solemos obtener algún error similar al siguiente:
73404#0: *13547595 FastCGI sent in stderr: «PHP message: WordPress database error You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ‘COLLATE _bin NOT NULL,
url_to text NOT NULL,
header_code smallint(4) …’ at line 3 for query CREATE TABLE cY2mOu61_rank_math_redirections (
id bigint(20) unsigned NOT NULL auto_increment,
sources text CHARACTER SET COLLATE _bin NOT NULL,
url_to text NOT NULL,
header_code smallint(4) unsigned NOT NULL,
hits bigint(20) unsigned NOT NULL default ‘0’,
status varchar(25) NOT NULL default ‘active’,
created datetime NOT NULL default ‘0000-00-00 00:00:00’,
updated datetime NOT NULL default ‘0000-00-00 00:00:00’,
last_accessed datetime NOT NULL default ‘0000-00-00 00:00:00’,
PRIMARY KEY (id),
KEY status (status)
) made by require(‘wp-blog-header.php’), wp, WP->main, WP->parse_request, do_action_ref_array(‘parse_request’), WP_Hook->do_action, WP_Hook->apply_filters, rest_api_loaded, WP…; PHP message: WordPress database error You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ‘COLLATE _bin NOT NULL,
redirection_id bigint(20) unsigned NOT NULL,
o…’ at line 3 for query CREATE TABLE cY2mOu61_rank_math_redirections_cache (
id bigint(20) unsigned NOT NULL auto_increment,
from_url text CHARACTER SET COLLATE _bin NOT NULL,
redirection_id bigint(20) unsigned NOT NULL,
object_id bigint(20) unsigned NOT NULL default ‘0’,
object_type varchar(10) NOT NULL default ‘post’,
is_redirected tinyint(1) NOT NULL default ‘0’,
PRIMARY KEY (id),
KEY redirection_id (redirection_id)
) made by require(‘wp-blog-header.php’), wp, WP->main, WP->parse_request, do_action_ref_array(‘parse_request’), WP_Hook->do_action, WP_Hook->apply_filters, rest_api_loaded, WP_REST_Server->serve_request, WP_REST_Server->dispatch, WP_RES
Y la única forma posible que hemos encontrato para solucionar es ejecutar la creación de las 2 tablas que nos faltan de forma manual desde consola Mysql o MariaDB o también desde el PHPmyadmin de tu panel de control Plesk o Cpanel.
Puedes ejecutar este código SQL cambiando el prefijo de tu base de datos por el que tengas en tu instalación. Hemos puesto wpdirecto_ para que sea fácil de localizar y cambiar.
DROP TABLE IF EXISTS `wpdirecto_rank_math_redirections`;
CREATE TABLE `wpdirecto_rank_math_redirections` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`sources` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,
`url_to` text COLLATE utf8mb4_unicode_520_ci NOT NULL,
`header_code` smallint(4) unsigned NOT NULL,
`hits` bigint(20) unsigned NOT NULL DEFAULT '0',
`status` varchar(25) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT 'active',
`created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`last_accessed` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`id`),
KEY `status` (`status`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci;
DROP TABLE IF EXISTS `wpdirecto_rank_math_redirections_cache`;
CREATE TABLE `wpdirecto_rank_math_redirections_cache` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`from_url` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,
`redirection_id` bigint(20) unsigned NOT NULL,
`object_id` bigint(20) unsigned NOT NULL DEFAULT '0',
`object_type` varchar(10) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT 'post',
`is_redirected` tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
KEY `redirection_id` (`redirection_id`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci;
Esperamos que te sirva para poder utilizar el servicio de Redirección que incluye Rank Math SEO.