i created an angular application using angular 8. I am working on referecing my website on Google. I have added a sitemap.xml and robot.txt at the route of the project however when i try to access the file in my browser by doing so :
https://blablawebsite.fr/sitemap.xml
The routing module is picking up the route and can't find the page. How can i make sure sitemap.xml and robots.txt are not picked by the routing module ?
Contrary to how I understand the accepted answer, tt is not neccessary to add angular universal to your project just for adding a sitemap.xml or robots.txt.
As @David said more succinctly in his comment,all you need to do is:
"assets": [
"src/favicon.ico",
"src/assets",
"src/robots.txt",
"src/sitemap.xml"
],
It is explained in a bit more detail here.
Add. remarks:
Using Angular Universal
with Cloud Functions for Firebase
to host and I'm putting sitemap.xml
with robots.txt
inside src
. Then in angular.json
within "assets"
adding it like so:
...
"assets": [
"APP_NAME/src/robots.txt",
"APP_NAME/src/sitemap.xml",
],
...
Works great :)
You need to first look into converting your project to Angular Universal. Google and other search engine bots can't and won't navigate through your app because all of that happens after-the-fact.
Start Here: https://angular.io/guide/universal
A lot of people misunderstand how all of this works and get very far into their project before realizing the difference between a website and an SPA. No biggie, you can still get your angular app to rank with Server Side Rendering
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With