# We crawled bristol.ac.uk with Crawl Cove: 57 broken links in 5,000 pages

Source: https://crawlcove.com/teardowns/university-of-bristol
Published 2026-10-29 · Updated 2026-11-01 · By Lewis Jones

> A bristol.ac.uk technical SEO audit: 5,000 University of Bristol pages, 57 that answer 404 or 403, 226 redirect chains and 4,085 pages with no canonical tag.

## Key takeaways
- 5,000 URLs crawled: 4,942 answered 200, 41 answered 404, 16 answered 403, 1 looped through more than ten redirects
- 45,048 further URLs discovered and not crawled; robots.txt excluded 3,354
- 356 crawled URLs redirect; 226 take two or more hops, 321 start with a temporary 302 and 185 pass through http:// on the way back to https
- 4,085 of 4,087 HTML pages have no canonical tag; 2,616 have no meta description; 2,996 titles run past 60 characters
- 308 pages in 111 duplicate-title groups ("Our People" is the title of 21 pages); 3 pages have no title at all
- 462 of the 5,000 URLs are PDFs
- 11,721 images, 1 without alt text
- 1 page took 9.2 seconds to respond; 17 pages have no viewport tag; 4,087 pages send none of the four common security headers

The University of Bristol is five miles from where Crawl Cove is built, and its
website is what most large institutions look like: decades of departments, each with
its own corner of the site, held together by a central template. We crawled 5,000 of
its pages on 29 October 2026. That is about one in ten of the URLs the crawler found,
so the numbers describe the slice we fetched, not the whole site, and the Findings page
says so at the top.

## The crawl

5,000 URLs at the cap: 4,942 answered 200, 41 answered 404, 16 answered 403 and one
(an internal jobs page) redirected more than ten times and was given up on. 462 of
the 5,000 are PDFs and 35 are Word documents, all linked from pages and all fetched as
part of the site. The crawler saw another 45,048 URLs it did not reach and robots.txt
excluded 3,354.

**Figure:**
src: /media/teardowns/university-of-bristol/findings.png
alt: Crawl Cove Findings for bristol.ac.uk: 45,032 findings, 58 urgent, 16,754 improvements and 28,220 opportunities, with the critical status-code rows for 403 pages at the top
label: Findings, critical first
caption: 45,032 findings on 5,000 pages, 58 of them urgent. Critical HTTP failures always sort to the top, before anything weighted by traffic.

## Five things the bristol.ac.uk technical SEO audit noticed

### 1. Fifty-seven pages linked from inside the site that do not open

What it is: 41 URLs answer 404 and 16 answer 403, and every one of them is linked from
at least one crawled page. The 404s are old course pages, a transport plan, an insurance
page and a few mangled links (a LinkedIn URL and two phone numbers pasted into a link
target, so they resolve as pages under /study/). The 403s are staff-only pages (catering,
HR guidance, staff discounts, timetabling) linked from public pages. Why it matters: a
visitor who follows the link lands on an error, and a search engine drops the page from
its index while still spending crawl budget on it. The 403s are a smaller problem with
an easy fix: either the link should not be on a public page, or the page should answer
with a login rather than a refusal.

**Figure:**
src: /media/teardowns/university-of-bristol/evidence-status-code.png
alt: Crawl Cove evidence drawer for a critical status-code finding on bristol.ac.uk: a timetabling page answering HTTP 403, with the 16 affected pages and the recommendation to restore, redirect or unlink
label: Evidence drawer for a 403
caption: The drawer for one of the 16 pages answering 403. "Linked from" lists the public pages carrying the link, which is where the fix actually happens.

### 2. 226 redirect chains, most of them starting with a temporary redirect

What it is: 356 of the crawled URLs redirect. 226 take two or more hops. 321 chains
begin with a 302 and 185 go through an http:// URL before coming back to https. The
pattern is consistent: an old page redirects temporarily to an http:// address of its
replacement, which then redirects permanently to https. Why it matters: a 302 tells
search engines the move is temporary, so the old URL keeps the ranking and the new one
waits; the http hop adds an insecure request to every visit. Both are one rule in the
web server. The crawler also found 4,112 pages whose internal links point at a redirecting
URL rather than the destination. Try it on one URL with the
[redirect checker](https://crawlcove.com/tools/redirect-checker).

**Figure:**
src: /media/teardowns/university-of-bristol/evidence-redirect-chain.png
alt: Crawl Cove evidence drawer for a bristol.ac.uk redirect chain: the bare domain fees-and-funding URL 301s to www, which 302s to a single sign-on login page
label: Evidence drawer for a redirect chain
caption: One chain in full. The fees and funding link goes bare domain to www by 301, then 302 to a sign-on page, which is not where a prospective student expects to land.

### 3. No canonical tag on 4,085 of 4,087 pages

What it is: two HTML pages in the whole crawl declare a canonical URL; the other 4,085
do not. Why it matters: the site serves many pages at more than one address (with and
without a trailing slash, with and without .html, bare domain and www), and the redirect
chains above show it. Without a canonical, every variant that slips through is a
separate page to Google and the ranking signal is split between them. This is one line
in the shared template. The [canonical issue reference](https://crawlcove.com/issues/meta) has the detail.

**Figure:**
src: /media/teardowns/university-of-bristol/evidence-canonical.png
alt: Crawl Cove evidence drawer for a canonical finding on bristol.ac.uk: no rel=canonical link on an indexable page, 4,020 affected pages across the site
label: Evidence drawer for a missing canonical
caption: 4,020 indexable pages share this one finding. The drawer says it in its first line: when the affected pages span the whole site, look for a template cause.

### 4. Titles: 308 duplicates, 2,996 too long, 3 missing

What it is: "Our People" is the complete title of 21 different pages, "Postgraduate
programmes | Study at Bristol | University of Bristol" of 16, and 111 title strings are
shared in all. 2,996 titles run past 60 characters because the template appends the
department name and the university name to everything ("About the centre | Centre for
Academic Language and Development | University of Bristol", 87 characters). Three pages
have no title at all. Why it matters: the title is the link in the search result; a
cut title loses the part that says which department, and 21 pages called "Our People"
cannot be told apart by anyone, Google included. The
[title tag checker](https://crawlcove.com/tools/title-tag-checker) shows the cut for any one page.

**Figure:**
src: /media/teardowns/university-of-bristol/findings-duplicate-title.png
alt: Crawl Cove Findings filtered to duplicate-title on bristol.ac.uk, high-severity rows naming the shared title and the other pages using it
label: Duplicate titles, filtered
caption: Filtered to the duplicate-title check. 245 rows, each naming the title and the pages it is shared with.

### 5. 2,616 pages with no meta description, and one page at 9.2 seconds

What it is: 2,616 of 4,087 HTML pages have no meta description and 543 have one over
160 characters. Separately, one country page for international students took 9,245 ms
to respond; the other 4,999 URLs were under the 3-second threshold. Why it matters: with
no description, Google writes the snippet from whatever text it finds, which on a
departmental page is often a navigation list. The slow page is a single outlier and
worth a look on its own.

Also seen: 17 pages with no viewport meta tag (so no mobile layout), 72 pages marked
noindex, 149 pages with more than one H1 and 160 with none, 1,010 pages under 200 words,
and none of the four common security headers (HSTS, Content-Security-Policy,
X-Frame-Options, X-Content-Type-Options) on any of the 4,087 HTML pages. That last one
is not a ranking factor; it is the kind of thing an audit turns up because the crawler
reads every response header anyway.

## What we'd fix first

1. Repair or unlink the 57 pages answering 404 and 403, starting with the 16 staff-only
   pages linked from public ones. One afternoon's work with the "Linked from" list.
2. Change the old-URL redirects from 302 to 301 and send them straight to the https
   destination, which collapses most of the 226 chains and the 185 http hops at once.
3. Add a self-referencing canonical tag to the shared template. One line, 4,085 pages.

Then the titles: a rule that stops the template appending the full department name
when the page title already contains it would shorten most of the 2,996 long ones
without anyone editing a page.
