sitemap et page d'erreur (404 + 500) reactjs/django
bonjour je suis dans l'optimisation j'ai trouvé un tutoriel non vidéo mais apparemment il oublie une étape ou deux sitemap code courant public / sitemap.js
Code:
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
|
import express from 'express'
import { SitemapStream, streamToPromise } from 'sitemap'
import mongoose from 'mongoose'
import { domain } from '../src/env'
const port = `${domain}`
const app = express()
let sitemap;
app.get('/sitemap.xml', async function(req, res) {
res.header('Content-Type', 'application/xml');
res.header('Content-Encoding', 'gzip');
if (sitemap) {
res.send(sitemap)
return
}
try {
const allCategories = await Category.Category.find().select('title')
const categories = queryCategories.map( ({ title }) => `/category/${title}`)
const smStream = new SitemapStream({ hostname: 'https://yourWebsite.com/' })
const pipeline = smStream.pipe(createGzip())
categories.forEach(function(item) {
smStream.write({ url: item, changefreq: 'monthly', priority: 0.6})
});
streamToPromise(pipeline).then(sm => sitemap = sm)
smStream.end()
pipeline.pipe(res).on('error', (e) => {throw e}
console.error(e)
res.status(500).end()
}
}); |
pour les pages d'erreur j'ai créé une page page introuvable mais ce n'est pas une page avec un statut 400 en plus la page supprime toutes les pages qui ont '/ mot' voici le code
Code:
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
|
return (
<BrowserRouter>
<NavBar/>
<Switch>
<Route exact path="/" component={HomePage}/>
<Route exact path="/product/:id" component={ProductDetails}/>
<Route exact path="/category/:id" component={CategoryProduct}/>
<Route exact path="*" component={Pagenotfound}/>
{
profile !==null ? (
<>
<Route exact path="/profile" component={ProfilePage}/>
<Route exact path="/cart" component={Cart}/>
<Route exact path="/oldorders" component={Oldorders}/>
<Route exact path="/order" component={Order}/>
<Route exact path="/orderdetail/:id" component={OrderDetails}/>
</>
):
(
<>
<Route exact path="/login" component={LoginPage}/>
<Route exact path="/register" component={RegisterPage}/>
</>
)
}
<Route exact component={HomePage}/>
</Switch>
</BrowserRouter>
);
}
export default App; |
dernière chose quand je fais le build je perds tous merci de votre aide