Depois de termos falado do plugin WordPress SEO do Yoast, ficámos a saber recentemente num novo artigo do autor, que o seu plugin brevemente será atualizado para incluir um sistema de sitemap HTML para WordPress. Os sitemaps HTML (não confundir com os sitemaps XML) são normalmente mencionados como algo bastante bom para o SEO de um blog. E ao que parece certamente são bons se você os utilizar da melhor forma possível (o Bing parece gostar bastante deles). Além disso, os sitemaps HTML são também uma excelente forma de tornar o seu blog mais facilmente navegável para os seus usuários.
Existem vários plugins para WordPress capazes de criar sitemaps em HTML. O problema com esses plugins surge, quando você pretende fazer coisas específicas com os seus sitemaps, como por exemplo incluir ou excluir determinados artigos ou páginas, mostrar apenas determinadas taxonomias ou categorias, etc. Essa é a grande razão pela qual o Yoast, especializado em SEO para WordPress, recomenda que os seus leitores criem um template de página exclusivo para o seu Sitemap em HTML.
De acordo com o autor, o ideal é criar uma porção de código que possa inclusive ser utilizada em páginas de erro 404 criativas. Isso é algo que nós já fazemos há imenso tempo na nossa rede de blogs, através da nossa página de Arquivos, por exemplo.
CRIE UM SITEMAP HTML
Para criar o seu sitemap HTML de uma forma eficiente, siga os seguintes passos: primeiro, crie uma pasta chamada parciais dentro da pasta do seu template WordPress. Dentro da pasta parciais crie um ficheiro chamado sitemap.php
.
Copie e cole o seguinte código para dentro desse ficheiro e adapte-o conforme as suas necessidades:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
<h2 id= "authors" >Autores</h2> <ul> <?php wp_list_authors( array ( 'exclude_admin' => false, ) ); ?> </ul> <h2 id= "pages" >Páginas</h2> <ul> <?php // Add pages you'd like to exclude in the exclude here wp_list_pages( array ( 'exclude' => '' , 'title_li' => '' , ) ); ?> </ul> <h2 id= "posts" >Artigos</h2> <ul> <?php // Add categories you'd like to exclude in the exclude here $cats = get_categories( 'exclude=' ); foreach ( $cats as $cat ) { echo "<li><h3>" . $cat ->cat_name. "</h3>" ; echo "<ul>" ; query_posts( 'posts_per_page=-1&cat=' . $cat ->cat_ID); while (have_posts()) { the_post(); $category = get_the_category(); // Only display a post link once, even if it's in multiple categories if ( $category [0]->cat_ID == $cat ->cat_ID) { echo '<li><a href="' .get_permalink(). '">' .get_the_title(). '</a></li>' ; } } echo "</ul>" ; echo "</li>" ; } ?> </ul> |
Desta forma, sempre que você necessitar de puxar esse sitemap HTML, utilize o seguinte código:
1
|
<?php get_template_part( '/parciais/sitemap' ); ?> |
CRIE UM TEMPLATE DE PÁGINA PARA O SITEMAP
Se desejar, poderá ainda criar uma página ou um template de página dedicado somente ao seu sitemap. Para criar um template de página, duplique o seu ficheiro page.php
e atribua-lhe o nome page-sitemap.php
. Abra-o, e por baixo da chamada the_content();
que se encontra por lá, adicione o código get_template_part()
que mencionámos em cima. Depois, na primeira linha de código desse mesmo ficheiro, depois da abertura de código “<?php"
, adicione o seguinte comentário:
1
2
3
|
/* Template Name: Sitemap Page */ |
Para ser mais fácil de perceber, o início do seu ficheiro deverá ficar assim:
1
2
3
4
5
|
<?php /* Template Name: Sitemap Page */ get_header(); ?> |
Isto fará com que o WordPress reconheça que esse é um template de sitemap HTML. Se desejar, poderá até escrever algum tempo antes do seu sitemap, e depois do texto é apresentado então o sitemap HTML.
Até Já!