1 - É preciso criar um arquivo com o nome ".htaccess". Pode ser feito até mesmo pelo bloco de notas. Abra o editor e insira o seguinte código:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
Após inserir salve ele com o nome .htaccess
Esse arquivo tem que ficar na pasta raiz do site, ou seja na mesma pasta onde se encontra a pasta "system".
Após essa etapa é preciso abrir o arquivo config.php que está localizado do diretório system\application\config. Ao abrir o arquivo é necessário procurar a linha $config['index_page'] = ""; e $config['uri_protocol'] = "AUTO"; como segue a imagem abaixo.
Caso não funcione pode trocar o "AUTO" pelo "REQUEST_URI", que está marcado na imagem.
Também não pode esquecer de remover o texto index.php da linha $config['base_url']. E caso o site já esteja pronto ou quase pronto lembre-se de remover o index.php dos href, porém mesmo assim funciona.
O que no meu ponto de vista creio que ajuda no SEO, é fazer palavras compostas com os nomes dos controller juntando com as function e principalmente com seus parâmetros, que para melhorar ainda mais, podem suportar palavras com acentos e - (hífens) para aumentar a relevância da URL e deixá-las mais dinâmicas. Sem contar que seria ótimo se escolhecem palavras-chaves que contenham no corpo do site, pricipalmente em strong, a, h1, h2... title, entre outras.
É isso.