Bird
Raised Fist0
Astroframework~30 mins

404 and error pages in Astro - Mini Project: Build & Apply

Choose your learning style10 modes available
Creating Custom 404 and Error Pages in Astro
📖 Scenario: You are building a website using Astro. You want to create a friendly page that visitors see when they try to visit a page that does not exist (a 404 page). You also want to create a general error page for other errors.
🎯 Goal: Build a custom 404.astro page and a general error.astro page that show helpful messages to users when something goes wrong or a page is not found.
📋 What You'll Learn
Create a 404.astro file with a message for page not found
Create an error.astro file that accepts an error prop and displays its message
Use semantic HTML elements and accessible text
Add a link back to the homepage on both pages
💡 Why This Matters
🌍 Real World
Custom 404 and error pages improve user experience by guiding visitors when something goes wrong or a page is missing.
💼 Career
Web developers often create these pages to maintain professionalism and usability in websites and web apps.
Progress0 / 4 steps
1
Create the 404 Page
Create a file called 404.astro. Inside it, write HTML with a <main> element containing an <h1> with the text "Page Not Found" and a <p> with the text "Sorry, the page you are looking for does not exist.".
Astro
Hint

Use semantic HTML tags like <main>, <h1>, and <p> to structure your 404 page content.

2
Add a Link to the Homepage on 404 Page
In 404.astro, below the paragraph, add an <a> tag with href="/" and the text "Go back to Home".
Astro
Hint

Use an anchor tag with href="/" to link back to the homepage.

3
Create the Error Page Component
Create a file called error.astro. At the top, declare a prop called error. Inside the <main> element, add an <h1> with the text "An Error Occurred" and a <p> that displays the error message using {error.message}.
Astro
Hint

Use Astro.props to get the error prop and display its message inside a paragraph.

4
Add a Link to the Homepage on Error Page
In error.astro, below the paragraph showing the error message, add an <a> tag with href="/" and the text "Return to Home".
Astro
Hint

Add an anchor tag linking back to the homepage for easy navigation.

Practice

(1/5)
1. What is the main purpose of a 404.astro page in an Astro project?
easy
A. To speed up the loading of the homepage
B. To display the site map automatically
C. To handle user login and authentication
D. To show a friendly message when a user visits a page that does not exist

Solution

  1. Step 1: Understand the role of 404 pages

    A 404 page appears when a user tries to visit a page that the website cannot find.
  2. Step 2: Identify the purpose in Astro

    In Astro, 404.astro is used to show a friendly message for missing pages.
  3. Final Answer:

    To show a friendly message when a user visits a page that does not exist -> Option D
  4. Quick Check:

    404 page = friendly missing page message [OK]
Hint: 404 pages show missing page messages [OK]
Common Mistakes:
  • Thinking 404 pages speed up the homepage
  • Confusing 404 pages with login pages
  • Assuming 404 pages show site maps
2. Which file name should you create in an Astro project to automatically handle 404 errors?
easy
A. error.astro
B. notfound.astro
C. 404.astro
D. page404.astro

Solution

  1. Step 1: Recall Astro's naming convention for 404 pages

    Astro uses the exact file name 404.astro to detect and serve 404 error pages automatically.
  2. Step 2: Compare options with the required file name

    Only 404.astro matches the required name; others won't be recognized automatically.
  3. Final Answer:

    404.astro -> Option C
  4. Quick Check:

    404 page file = 404.astro [OK]
Hint: Use exact file name 404.astro for error pages [OK]
Common Mistakes:
  • Using names like error.astro or notfound.astro
  • Adding prefixes or suffixes to 404 file name
  • Assuming any file with '404' works
3. Given this 404.astro code snippet, what will the user see when visiting a missing page?
<!-- 404.astro -->
<h1>Oops! Page not found.</h1>
<p>Try going back to the <a href='/'>homepage</a>.</p>
medium
A. A blank page with no message
B. A message saying 'Oops! Page not found.' with a link to homepage
C. An error message with code 500
D. The homepage content without any error message

Solution

  1. Step 1: Read the 404.astro content

    The code shows a heading with 'Oops! Page not found.' and a paragraph with a homepage link.
  2. Step 2: Understand what Astro renders on missing pages

    Astro will display this content when a user visits a missing page.
  3. Final Answer:

    A message saying 'Oops! Page not found.' with a link to homepage -> Option B
  4. Quick Check:

    404 page shows friendly message + homepage link [OK]
Hint: 404 page content shows on missing pages [OK]
Common Mistakes:
  • Expecting a blank page instead of message
  • Confusing 404 with server error 500
  • Thinking homepage content shows on 404
4. You created a 404.astro page but it does not show when visiting a missing page. What is the most likely mistake?
medium
A. The 404.astro file is inside the src/components folder
B. The file is named 404.html instead of 404.astro
C. The homepage link is missing inside the 404 page
D. The project does not have a package.json file

Solution

  1. Step 1: Check file location requirements in Astro

    Astro expects 404.astro to be in the root of the src/pages folder, not inside components.
  2. Step 2: Understand why wrong location breaks 404 page

    If placed in src/components, Astro won't serve it automatically as a 404 page.
  3. Final Answer:

    The 404.astro file is inside the src/components folder -> Option A
  4. Quick Check:

    404 page must be in pages folder [OK]
Hint: Place 404.astro in src/pages folder [OK]
Common Mistakes:
  • Naming file 404.html instead of 404.astro
  • Putting 404.astro in components folder
  • Thinking missing homepage link breaks 404 page
  • Assuming package.json affects 404 page
5. You want to create a custom error page in Astro that shows different messages for 404 and 500 errors. Which approach is best?
hard
A. Create separate 404.astro and 500.astro files in src/pages
B. Use only 404.astro and add JavaScript to detect 500 errors
C. Create a single error.astro file and rename it to 404.astro when needed
D. Handle errors only in client-side JavaScript, no Astro pages needed

Solution

  1. Step 1: Understand Astro's error page handling

    Astro supports special files like 404.astro and 500.astro to handle different error codes automatically.
  2. Step 2: Choose the best way to show different messages

    Creating separate files for 404 and 500 errors is clean and follows Astro conventions.
  3. Final Answer:

    Create separate 404.astro and 500.astro files in src/pages -> Option A
  4. Quick Check:

    Separate files for each error code [OK]
Hint: Use separate 404.astro and 500.astro files [OK]
Common Mistakes:
  • Trying to detect errors with JavaScript in 404.astro
  • Renaming files manually instead of separate files
  • Ignoring server-side error handling
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard