feat(portfolio): mise à jour du site avec de nouvelles sections et améliorations SEO

- Révision des métadonnées dans index.html pour un meilleur référencement.
- Ajout de nouvelles sections : FAQ, Témoignages, Services, et CTA.
- Intégration de données structurées pour les FAQ et les témoignages.
- Amélioration du fichier robots.txt pour un meilleur contrôle d'indexation.
- Mise à jour du sitemap.xml avec de nouvelles URLs.
- Ajout de nouveaux composants Vue.js pour les sections de témoignages et de services.
- Amélioration des styles CSS pour une meilleure présentation des sections.
- Ajout de la gestion des dates et des témoignages dans le composant testimonials.
This commit is contained in:
Mr¤KayJayDee
2025-06-25 23:25:51 +02:00
parent af1f47dbf3
commit 542c468eb3
35 changed files with 2712 additions and 472 deletions

View File

@@ -34,6 +34,16 @@ const router = createRouter({
path: '/fiverr',
name: 'fiverr',
component: () => import('../views/FiverrPage.vue')
},
// TODO: page 404
{
path: '/:pathMatch(.*)*',
name: 'not-found',
component: HomePage,
meta: {
title: 'Page non trouvée - 404',
description: 'La page que vous recherchez n\'existe pas. Retournez à l\'accueil pour découvrir mes services.'
}
}
],
scrollBehavior(to, from, savedPosition) {
@@ -58,6 +68,27 @@ const router = createRouter({
}
})
// SEO Meta tags handler
router.beforeEach((to, from, next) => {
// Update document title
if (to.meta?.title) {
document.title = to.meta.title as string
}
// Update meta description
if (to.meta?.description) {
let metaDescription = document.querySelector('meta[name="description"]')
if (!metaDescription) {
metaDescription = document.createElement('meta')
metaDescription.setAttribute('name', 'description')
document.head.appendChild(metaDescription)
}
metaDescription.setAttribute('content', to.meta.description as string)
}
next()
})
// Additional scroll to top handler for better compatibility
router.afterEach(() => {
// Use nextTick to ensure the DOM is fully updated