Nuxt 3: Good to know
When switching my personal website to Nuxt 3 I found myself looking and researching all the small things you need to tackle, besides the content, to make it fly. Sitemap, robots.txt, proper page titles, include 3rd party JS and so on. While there is a lot written about a general setup of Nuxt, most blogs almost never talk about these small things. You can find all of these tips in the repository codedge/codedge.de of this site. Most websites you a similar page title like this: For example: Let’s create that. Prerequisites In your you configure the central title content using the configuration: This adds the general part, in my case , to every title for each page. To add the specific title for a page, open one of your files in the directory and add to it. This is going to build a title like . You might want to load scripts, f. ex. tracking scripts, depending on your environment. I wanted to include the Plausible tracking script only on the production environment. In you you can do this: Make sure, you set your correctly according to your site. While including images in your repository might be a fast and straightforward solution you might want to consider using some image service like Cloudinary or Imgix as a central place for your images. I chose Cloudinary which is supported by the NuxtImage plugin. After setting things up you might want to use this in your Markdown files. Using or does unfortunately not work there. Wrapping this inside a Markdown Component (MDC) helps. Create a file in and Add With that in place you can use NuxtImage in your Markdown files by writing You want to serve a custom 404 page, properly styled, whenever a visitor hits an unknown sub-page of your site. Instead of customizing the file, as suggested by other people, I went for writing a custom component which only deals with the 404 error. Add a file and add the following: Additionally to the content itself, we modify the page title and returning a proper 404 http status code. I use this component in my file ( see here ) file. So whenever a request is matched by this catchall route, deliver the 404 page, as probably no other content was found. Currently neither Nuxt 3 or the Content module provides a way to generate a sitemap in the default installation. Luckily this is quick win to set up yourself. First, install the NPM package sitemap by running . Second, create a file with the content Don’t forget to update the hostname in the code. You can now open your sitemap at . You use the pages feature You have a central