Noticelinks.internal-redirect

Links on the site point at addresses that redirect

Why it matters

When your own links point at an address that redirects, every click costs the visitor an extra round trip before the page starts loading, and every crawl of your site spends a request on the detour. One hop is a small cost, which is why this is only a notice; it is also free to fix, because you control both ends. It builds up after a redesign or a move to https, when the redirects were added and the links were never updated. Google's advice for a site move is to "Change the internal links on the new site from the old URLs to the new URLs", and more generally: "When linking within your site, link to the canonical URL rather than a duplicate URL."

Sources: Site moves with URL changes; How to specify a canonical URL. Google states no ranking cost for a single redirect.

How to fix it

Edit each link to point at the final address. When the link is in a menu, footer or template, one edit fixes it everywhere; for links inside articles, a search-and-replace across the CMS (old address → new address) does the rest. Keep the redirects in place: other sites still link to the old addresses.

Examples

These are the rule's own test pages, and what it says about each. They are run on every change to the rule book.

Notice1 address your own pages link to redirect elsewhere: /cakes → /cakes/ (linked from 1 page).

fail-missing-slash
Example site
{
    "pages": [
        {
            "url": "/",
            "links": [
                "/cakes"
            ]
        },
        {
            "url": "/cakes",
            "finalUrl": "/cakes/",
            "redirected": true,
            "inSitemap": false
        }
    ]
}

Notice1 address your own pages link to redirect elsewhere: /old → /new (linked from 1 page).

fail-other-spelling
Example site
{
    "pages": [
        {
            "url": "/",
            "links": [
                "/old/"
            ]
        },
        {
            "url": "/old",
            "finalUrl": "/new",
            "redirected": true
        },
        {
            "url": "/new",
            "links": [
                "/"
            ]
        }
    ]
}

PassedEvery link we followed on the site goes straight to its page.

pass-direct-links
Example site
{
    "pages": [
        {
            "url": "/",
            "links": [
                "/cakes/"
            ]
        },
        {
            "url": "/cakes/",
            "links": [
                "/"
            ]
        }
    ]
}

PassedEvery link we followed on the site goes straight to its page.

pass-links-to-final-address
Example site
{
    "pages": [
        {
            "url": "/",
            "links": [
                "/cakes/"
            ]
        },
        {
            "url": "/cakes",
            "finalUrl": "/cakes/",
            "redirected": true
        }
    ]
}

PassedEvery link we followed on the site goes straight to its page.

pass-moved-page
Example site
{
    "pages": [
        {
            "url": "/",
            "links": [
                "/new"
            ]
        },
        {
            "url": "/old",
            "finalUrl": "/new",
            "redirected": true
        },
        {
            "url": "/new",
            "links": [
                "/"
            ]
        }
    ]
}