Buenos días,
Las categorías y etiquetas de las entradas no están indexadas. No quiero que me muestre TAG en la url cuando accedo a una etiqueta concreta. He configurado en Ajustes->Enlaces permanetes que tanto la Base de las categorías como las de las etiquetas sean "." y para las categorías si funciona de forma que no se muestra la palabra CATHEGORY pero para las etiquetas no consigo que funcione, me da Error 404.
Si dejo Base de las etiquetas en blanco me muestra TAG en la url y si pongo un . tal y como he hecho para las categorías (donde sí funciona) me da Error 404.
Por favor, ¿podrían indicarme qué estoy haciendo mal? Gracias
Contenido solo visible a usuarios registrados
Hola Gabriel.
Si Utilizas Rank Math paar el seo revisa esta documentación:
-> https://rankmath.com/kb/remove-wordpress-category-base/
Si utilizas Yoast en las opciones Seo -> Apariencia buscador:
Puedes probar tambien con esta función:
function fix_slash( $string, $type )
{
global $wp_rewrite;
if ( $wp_rewrite->use_trailing_slashes == false )
{
if ( $type != 'single' && $type != 'category' )
return trailingslashit( $string );
if ( $type == 'single' && ( strpos( $string, '.html/' ) !== false ) )
return trailingslashit( $string );
if ( $type == 'category' && ( strpos( $string, 'category' ) !== false ) )
{
$aa_g = str_replace( "/category/", "/", $string );
return trailingslashit( $aa_g );
}
if ( $type == 'category' )
return trailingslashit( $string );
}
return $string;
}
add_filter( 'user_trailingslashit', 'fix_slash', 55, 2 );
Un saludo
@pepesoler Muchas gracias, igual me he explicado mal. He leido el artículo pero mi problema no es con las categorías sino con las etiquetas. Para las categorías sí he conseguido mediante Ajustes->Enlaces permanentes de WordPress eliminar la palabra category de la url.
De todas formas he activado la opción que se indicas en la entrada de Rank Math y solo afecta a las categorías no a las etiquetas.
Hola Gabriel,
En este caso puedes probar un complemento como -> https://es.wordpress.org/plugins/wp-no-base-permalink/ ten en cuenta que no ha sido probado en versiones recientes de WordPress por lo que debes revisar si funciona de forma correcta en tu sitio web.
Una vez lo instalas puedes acceder a Ajustes -> Enlaces permanentes y seleccionar, desactivar la base para las etiquetas
También puedes revisar algún otro como -> https://es.wordpress.org/plugins/no-category-base-wpml/
Un Saludo
@karen Quisiera poder resolverlo sin tener que instalar un plugin para ello. ¿No existe otra solución? Gracias
Que tal Gabriel,
Investigando un poco al respecto han remitido una solicitud similar en los foros de Wordpress donde muestran el siguiente fragmento de código https://wordpress.org/support/topic/sitemap-help-remove-tag-in-urls/
`// remove tag base
add_filter(‘tag_rewrite_rules’, ‘no_tag_base_rewrite_rules’);
function no_tag_base_rewrite_rules($tag_rewrite) {
$tag_rewrite=array();
$tags=get_tags(array(‘hide_empty’=>false));
foreach($tags as $tag) {
$tag_nicename = $tag->slug;
if ( $tag->parent == $tag->tag_ID )
$tag->parent = 0;
elseif ($tag->parent != 0 )
$tag_nicename = get_tag_parents( $tag->parent, false, ‘/’, true ) . $tag_nicename;
$tag_rewrite[‘(‘.$tag_nicename.’)/(?:feed/)?(feed|rdf|rss|rss2|atom)/?$’] = ‘index.php?tag=$matches[1]&feed=$matches[2]’;
$tag_rewrite[‘(‘.$tag_nicename.’)/page/?([0-9]{1,})/?$’] = ‘index.php?tag=$matches[1]&paged=$matches[2]’;
$tag_rewrite[‘(‘.$tag_nicename.’)/?$’] = ‘index.php?tag=$matches[1]’;
}
global $wp_rewrite;
$old_base = $wp_rewrite->get_tag_permastruct();
$old_base = str_replace( ‘%tag%’, ‘(.+)’, $old_base );
$old_base = trim($old_base, ‘/’);
$tag_rewrite[$old_base.’$’] = ‘index.php?tag_redirect=$matches[1]’;
return $tag_rewrite;
}`
Valida si te funciona, de lo contrario vale la pena probar el siguiente plugin que pese a que no ha sido actualizado recientemente no representaría un impacto en tu sitio.
Plugin https://wordpress.org/plugins/wp-no-base-permalink/
Prueba de como funciona https://www.youtube.com/watch?v=D_ncTJviAzo
Saludos!
Hola Gabriel,
Es un gusto saber que has podido solucionar, recuerda que cualquier otra consulta estaremos atentos
Saludos!