All checks were successful
Deploy to production / deploy (push) Successful in 2m46s
- Added support for multiple languages in the frontend, including English, Spanish, and Cebuano, improving accessibility for a broader audience. - Implemented hreflang links for better SEO performance, ensuring search engines can correctly index language-specific content. - Updated SEO metadata handling to utilize internationalization keys, enhancing the clarity and relevance of page titles and descriptions. - Refactored SEO utility functions to streamline the management of OpenGraph and hreflang attributes, improving maintainability and performance.
44 lines
1.1 KiB
JavaScript
44 lines
1.1 KiB
JavaScript
const BlogListView = () => import('@/views/blog/BlogListView.vue');
|
|
const BlogView = () => import('@/views/blog/BlogView.vue');
|
|
const BlogEditorView = () => import('@/views/blog/BlogEditorView.vue');
|
|
|
|
export default [
|
|
{ path: '/blogs/create', name: 'BlogCreate', component: BlogEditorView, meta: { requiresAuth: true } },
|
|
{ path: '/blogs/:id/edit', name: 'BlogEdit', component: BlogEditorView, props: true, meta: { requiresAuth: true } },
|
|
// Slug-only route first so it doesn't get captured by the :id route
|
|
{
|
|
path: '/blogs/:slug',
|
|
name: 'BlogSlug',
|
|
component: BlogView,
|
|
props: route => ({ slug: route.params.slug }),
|
|
meta: {
|
|
seo: {
|
|
i18nKey: 'blogPage',
|
|
},
|
|
},
|
|
},
|
|
// Id-constrained route (numeric id only) with optional slug for canonical links
|
|
{
|
|
path: '/blogs/:id(\\d+)/:slug?',
|
|
name: 'Blog',
|
|
component: BlogView,
|
|
props: true,
|
|
meta: {
|
|
seo: {
|
|
i18nKey: 'blogPage',
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: '/blogs',
|
|
name: 'BlogList',
|
|
component: BlogListView,
|
|
meta: {
|
|
seo: {
|
|
i18nKey: 'blogList',
|
|
canonicalPath: '/blogs',
|
|
},
|
|
},
|
|
},
|
|
];
|