Skip to content

Review 404 Errors on Website #6

Open

Description

@jamesfredley

grails.apache.org has a nice custom 404 page experience: https://grails.apache.org/docs/latest/api/AbstractBsonReaderContext.html

404 errors can be reviewed by url by adding &segment=pageTitle=@Page%20Not%20Found to the end of the URL

Example: https://analytics.apache.org/index.php?module=CoreHome&action=index&date=yesterday&period=day&idSite=79#?idSite=79&period=month&date=2025-11-04&category=General_Actions&subcategory=General_Pages&segment=pageTitle=@Page%20Not%20Found

The visits coming from search engines and LLMs should clear up over time as the URLs which return 404 status are de-indexed.

For others, where the website links to the non-existent URL we should identify ways to fix the broken URLs.

Activity

  1. 3iyam8ings commented on Jan 2, 2026

    @3iyam8ings

    Hi @jamesfredley,

    I’m a first-time contributor and would like to help with reviewing and fixing
    404 errors on the Grails website.

    I plan to start by identifying internal links on the site that return 404
    responses and propose fixes (correcting links or adding redirects where
    appropriate).

    Please let me know if this approach sounds good. Thank you!

  2. jamesfredley commented on Jan 2, 2026

    @jamesfredley
    ContributorAuthor

    @3iyam8ings Thank you.

    The link above which displayed an entire month of 404's no longer works, this may be due to a timeout as more data is available now.

    Going down to a single day works for most days: https://analytics.apache.org/index.php?module=CoreHome&action=index&date=yesterday&period=day&idSite=79#?period=day&date=2026-01-02&segment=pageTitle%3D%40Page%20Not%20Found&idSite=79&category=General_Actions&subcategory=General_Pages

    I agree with you that finding broken internal links and fixing them is the priority and the majority of what should be fixed. These can be prioritized based on the number of pageviews from the Apache Analytics report.

    Some 404's should stay as 404's, so that the search engines de-index the URLs, when there are 0 internal links to the URL which returns a 404. The custom 404 experience is pretty good now.

    You may find the process on apache/grails-core#14988 using https://github.com/lycheeverse/lychee/releases/tag/lychee-v0.19.1 against the files locally, useful to quickly identify all broken links.

  3. 3iyam8ings commented on Jan 6, 2026

    @3iyam8ings

    Hi @jamesfredley,

    Thank you for the clarification and helpful guidance.

    I understand that the month-wide 404 analytics link may time out now, and that using single-day reports is the correct way to review and prioritize 404s based on pageviews. I’ll focus on fixing broken internal links first and leave intentional 404s untouched where there are no internal references.

    I’ll also try the Lychee workflow locally to identify broken links more efficiently before submitting PRs.

    Thanks again for your support!

    Best,
    @3iyam8ings

  4. moved this from Done to In Progress in Apache Grailson Jan 6, 2026
  5. AyushI7G commented on Mar 19, 2026

    @AyushI7G

    Hi, I’d like to help with this issue by identifying and fixing a broken internal link on the website. I’ll start with one small fix and open a PR for it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions