Preventing broken links

This post belongs to a series about search engine optimization (SEO) with Magnolia CMS. Today we look at preventing broken links.

Broken links can lower your site's rankings. Google mentions this specifically in its SEO guidelines. Broken links are also a source of irritation for users.

While you have little control over changes to external links, you can inadvertently break internal links in a variety of ways, such as when changing site structure or deleting content that has incoming links.

A process should be in place to regularly validate all links on a site.

Magnolia has safeguards to prevent broken links:
  • A hierarchical content store ensures that there are no orphaned pages that have no incoming links. All pages belong to a hierarchy, and each page has at least one incoming link - from its parent.
  • Each page has a unique content ID for use as an internal link target. Dialogs provide a user-friendly browser for locating the target. Authors don't need to know the unique ID.

  • The unique ID stays the same even when the target page is moved or renamed. This allows for flexible site reorganization without breaking the links. The same mechanism is used when linking to documents in the document management system (DMS). Internal links to non-existing pages and documents will not be rendered, avoiding broken links.
  • A reference view lists any incoming and outgoing links. A message on shows dependent content on deletion and deactivation.

  • A custom 404 "not found" page can be displayed for broken incoming links. You can provide helpful alternatives such as sitemap tree or a search box to find the desired content:

Magnolia does not check for outgoing broken links but third party link checker tools for this purpose exist.