How to add a sitemap in React.js?

by dustin.green , in category: SEO , a year ago

How to add a sitemap in React.js?

Facebook Twitter LinkedIn Telegram Whatsapp Pocket

1 answer

by harrison.goodwin , a year ago

@dustin.green 

To add a sitemap in React.js, you can use the react-router-sitemap library. Here are the steps to follow:

  1. Install the library by running the following command in your project directory: npm install react-router-sitemap
  2. Create a new file named sitemap.js in your project's root directory.
  3. Import the necessary dependencies at the top of the sitemap.js file: import { SitemapStream, streamToPromise } from 'react-router-sitemap'; import { createReadStream } from 'fs'; import { StaticRouter } from 'react-router-dom'; import App from './App'; // Replace with your main component file
  4. Define the paths for your website inside the sitemap.js file: const paths = [ '/', '/about', '/products', // Add more paths for your website ];
  5. Create a function to generate the sitemap: function generateSitemap() { const sitemap = new SitemapStream({ hostname: 'https://example.com' }); // Replace with your website's hostname paths.forEach((path) => { sitemap.write({ url: path, changefreq: 'weekly', priority: 0.7 }); }); sitemap.end(); return streamToPromise(createReadStream(sitemap.path)) .then((data) => data.toString()) .catch((error) => console.error(error)); }
  6. Export the function to be used in your build process: export default generateSitemap;
  7. Inside your React.js application, import the generateSitemap function in your build script and call it: import generateSitemap from './sitemap'; // Inside your build process generateSitemap().then((xml) => { // Do something with the generated XML, such as save it to a file or send it to the search engines. console.log(xml); });
  8. Run your build script to generate the sitemap XML file.


Note: Make sure you have set up your app with React Router for the sitemap to work accurately.