¿Estás buscando una forma de eliminar palabras irrelevantes de tus URLs? Si bien probablemente exista un plugin para esto, hemos creado un fragmento de código rápido que puedes usar para mejorar el SEO eliminando automáticamente palabras cortas de las URL en WordPress.
Instrucciones:
Todo lo que tienes que hacer es agregar este código al archivo functions.php de tu tema o a un plugin específico del sitio:
add_filter('sanitize_title', 'remove_short_words');
function remove_short_words($slug) {
if (!is_admin()) return $slug;
$slug = explode('-', $slug);
foreach ($slug as $k => $word) {
if (strlen($word) < 3) {
unset($slug[$k]);
}
}
return implode('-', $slug);
}
Nota: Si es la primera vez que agregas fragmentos de código en WordPress, consulta nuestra guía sobre cómo agregar fragmentos de código correctamente en WordPress, para que no rompas accidentalmente tu sitio.
Si te gustó este fragmento de código, considera echar un vistazo a nuestros otros artículos en el sitio como: 11 mejores plugins de cuestionarios de WordPress y cómo configurar el seguimiento de autores en WordPress con Google Analytics.
Hola amigo,
¿Cómo eliminar solo ciertas palabras de un slug?
Muchas gracias
Podrías intentar usar esto, reemplazando "palabra" con la palabra que deseas eliminar:
if ($word === “word”) { unset($slug[$k]); }
[…] a Kevin Chard por estas increíbles […]
Bueno, la idea es que si eliminas palabras como "El, y, pero, es, esto", etc., ya que no tienen ningún valor real de SEO. Sin embargo, el fragmento anterior se actualizó para eliminar solo una lista de palabras en lugar de todas las palabras de 3 caracteres o menos.
http://wpsnipp.com/index.php/functions-php/better-seo-automatically-remove-stop-words-from-slug/
Soy un novato en el campo del SEO, recientemente me pidieron que recopilara nueva información y, ¿adivina qué? Les di tu idea y les gustó mucho. En otras palabras, tu consejo me salvó. ¡Gracias, hombre! Realmente muy bueno. ¡Gente, por favor, prueben esto!
Deberías echar un vistazo a este fragmento. Esta es una versión actualizada del fragmento anterior.
http://wpsnipp.com/index.php/functions-php/better-seo-automatically-remove-stop-words-from-slug/
¡Felicitaciones por la publicación!
Adapté tu código con una lista de palabras negativas separadas por comas.
¡Abrazo!****add_filter(‘sanitize_title’, ‘remove_short_words’);function remove_short_words($slug) { if (!is_admin()) return $slug; $slug = explode(‘-‘, $slug); foreach ($slug as $k => $word) { //keywords false $keys_false = ‘a,ao,aos,as,ate,da,de,do,das,dos,dum,duma,e,em,es,na,no,nas,nos,num,numa,o,os,que,um,uma’; $keys = explode(‘,’, $keys_false); foreach ($keys as $l => $wordfalse) { if ($word==$wordfalse) { unset($slug[$k]); } } } return implode(‘-‘, $slug);}
Gran fragmento Alexandre. Envíame un correo electrónico para que pueda configurarte como autor del fragmento.
http://wpsnipp.com/index.php/contact/
esto es malo para vietnamita
Esto es cierto Trieu Quang Khan, voy a publicar una versión actualizada que permitirá a los usuarios definir palabras que se eliminarán del slug.
Genial.
¿Excluye palabras de 3 letras? El texto lo implica al incluir las palabras 'but' y 'and', pero la captura de pantalla muestra 'seo' todavía en la URL. Supongo que es la condición en la línea 6 la que necesita cambiarse. ¿Podría ser demasiado drástico eliminar palabras de 3 letras, ya que podría eliminar palabras necesarias para que la URL tenga sentido? who, cup, bar, win, end, seo(!) etc.. (lo que podría tener un efecto negativo en lugar de positivo en el SEO?)
Saludos.
David.
Esto es cierto, una modificación que podría hacerle a este fragmento sería crear una lista de palabras que debería eliminar. De esta manera, no eliminaría palabras que puedan ser importantes para el SEO del sitio.
¿Crees que esto es importante para el SEO? ¿Por qué?
Gracias
Teo
Cuantas más palabras tengas en la URL, Google ponderará menos las que podrían ser importantes. Dado que 'if', 'and', 'the', 'is', 'are', etc. no son tan importantes como otras palabras, este script las eliminará.