it-swarm.dev

Como deixar o gerador de sitemap rastrear completamente Angular roteador para SPA?

Estou tentando gerar um sitemap para minha página da web.

Os geradores de sitemap on-line mostram apenas uma página inicial no arquivo xml.

<?xml version="1.0" encoding="UTF-8"?>
-<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
-<url>
<loc>http://margvel.com</loc>
<priority>0.5</priority>
</url>
</urlset>

minha página da web entretanto tem várias rotas em angular.

para ver a página que você pode ir para margvel.com

Eu usei alguns geradores de sitemap.

xml-sitemap e botmap

Eu verifiquei o botmap, porque ele deveria ter suporte ao SPA.

Os links que eu quero criar sitemap usam material design e routerlink.

o código se parece com isso.

          <mat-list-item (click)="snav.close()" routerLink="/Projects"><mat-icon style="margin-left: 7px;">code</mat-icon><a style="margin-left: 25px;" >Projects</a></mat-list-item>
          <mat-list-item (click)="snav.close()" routerLink="/Jobs"><mat-icon style="margin-left: 7px;">work</mat-icon><a style="margin-left: 25px;" ></a>Work Experience</mat-list-item>
          <mat-list-item (click)="snav.close()" routerLink="/Education"><mat-icon style="margin-left: 7px;">school</mat-icon><a style="margin-left: 25px;"></a>Education</mat-list-item>
          <mat-list-item (click)="snav.close()" routerLink="/Resume"><mat-icon style="margin-left: 7px;">description</mat-icon><a style="margin-left: 25px;" ></a>Resume</mat-list-item>
          <mat-list-item (click)="openSnackBar()" routerLink="/Contact"><mat-icon style="margin-left: 7px;">contact_mail</mat-icon><a style="margin-left: 25px;" ></a>Contact</mat-list-item>
4
Vato

Como Karl, o desenvolvedor de Botmap.io responde à pergunta, o rastreador só suporta links href. 

Oi! Seus links/tags de âncora têm um atributo href? Atualmente, o bot só detecta e rastreia o atributo href. Você pode adicioná-lo mesmo que seu aplicativo angular não o use internamente. Pode ser redundante, no entanto, pode funcionar como um paliativo até que eu possa atualizar o bot para lidar com esse cenário.

Como estou usando roteadores e não quero alterar meu código usando hrefs, decidi criar manualmente o Sitemap.

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url><loc>http://margvel.com</loc><priority>0.5</priority></url>
<url><loc>http://margvel.com/projects</loc><priority>0.5</priority></url>
<url><loc>http://margvel.com/jobs</loc><priority>0.5</priority></url>
<url><loc>http://margvel.com/education</loc><priority>0.5</priority></url>
<url><loc>http://margvel.com/resume</loc><priority>0.5</priority></url>
<url><loc>http://margvel.com/contact</loc><priority>0.5</priority></url>
</urlset>

Tudo que fiz foi percorrer as rotas em angular e colocá-las no arquivo xml como mostrado acima. 

Eu dei a todos os links prioridade 0.5, já que é a prioridade manual escolhida entre 0 - 1.0. Eu não tenho preferência por páginas. 

OBSERVAÇÃO: essa abordagem é apenas para sitemaps pequenos com pequena quantidade de páginas.

0
Vato