Você está procurando uma maneira de remover stop words de seus URLs? Embora provavelmente exista um plugin para isso, criamos um pequeno trecho de código que você pode usar para melhorar o SEO removendo automaticamente palavras curtas de URLs no WordPress.
Instruções:
Tudo o que você precisa fazer é adicionar este código ao arquivo functions.php do seu tema ou a um plugin específico do site:
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);
}
Observação: Se esta é a sua primeira vez adicionando snippets de código no WordPress, consulte nosso guia sobre como adicionar snippets de código corretamente no WordPress, para não quebrar acidentalmente seu site.
Se você gostou deste trecho de código, considere conferir nossos outros artigos no site, como: 11 melhores plugins de quiz para WordPress e como configurar o rastreamento de autores no WordPress com o Google Analytics.
Olá amigo,
Como remover apenas certas palavras do slug?
Muito obrigado
Você pode tentar usar isto, substituindo "palavra" pela palavra que você deseja remover:
if ($word === “word”) { unset($slug[$k]); }
[…] para Kevin Chard por estas incríveis […]
Bem, a ideia é que, se você remover palavras como "O, e, mas, é, isto", etc., pois elas não têm valor real de SEO. No entanto, o trecho acima foi atualizado para remover apenas uma lista de palavras em vez de todas as palavras com 3 caracteres ou menos.
http://wpsnipp.com/index.php/functions-php/better-seo-automatically-remove-stop-words-from-slug/
Sou novato na área de SEO, recentemente me disseram para coletar algumas novas informações e adivinhe o quê, eu dei a eles sua ideia e eles realmente gostaram. Então, em outras palavras, seu conselho me salvou. Obrigado, cara! Muito bom mesmo. Pessoal, por favor, experimentem isso.
Você deveria dar uma olhada neste trecho. Esta é uma versão atualizada do trecho acima.
http://wpsnipp.com/index.php/functions-php/better-seo-automatically-remove-stop-words-from-slug/
Parabéns pelo post!
Adaptei seu código com uma lista de palavras negativas separadas por vírgulas.
Abraço!****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);}
Ótimo trecho Alexandre. Envie-me um e-mail para que eu possa configurá-lo como autor do trecho.
http://wpsnipp.com/index.php/contact/
isso é ruim para o vietnamita
Isso é verdade Trieu Quang Khan, vou publicar uma versão atualizada que permitirá aos usuários definir palavras que serão removidas do slug.
Ótimo.
Ele exclui palavras de 3 letras? A descrição implica que sim, incluindo as palavras "but" e "and", mas a captura de tela mostra "seo" ainda lá na URL? Presumo que seja a condição na linha 6 que precisa ser alterada. Remover palavras de 3 letras seria muito drástico, pois poderia remover palavras necessárias para que a URL faça sentido? who, cup, bar, win, end, seo(!) etc.. (o que poderia ter um efeito negativo em vez de positivo no SEO?)
Obrigado.
David.
Isso é verdade, uma modificação que eu poderia fazer neste snippet seria criar uma lista de palavras que ele deveria remover. Desta forma, ele não removeria palavras que podem ser importantes para o SEO do site.
Você acha que isso é importante para SEO? Por quê?
Obrigado
Teo
Quanto mais palavras você tiver na URL, o Google dará menos peso às palavras importantes. Como 'if', 'and', 'the', 'is', 'are', etc. não são tão importantes quanto outras palavras, este script as removerá.