Forty-seven tasks, ordered so nothing starts before the thing it depends on is fixed
Every item from the scope of work, re-verified against a full crawl of the live site. Where the audit and the current site disagree, the tracker states what is on the page today.
Sources — Ayan Capital SEO Scope of Work (9pp) · full crawl of all 147 sitemap URLs, 11 August 2026
Crawl data — seo-data/crawl.tsv (147 rows × 53 fields) · seo-data/links.tsv (4,557 internal link edges)
Headline — 139 pages returned 200, 8 returned 404; 4 money pages have zero internal links; 138 of 139 pages carry no structured data
Owners — Onur (SEO) · Dev · Nabihah (brand and content)
Updated — 27 August 2026 · quick wins 1, 3, 5, 6 and 8 built on staging · workstream A reviewed with Onur
Live — production was published by the team on 26 Aug, taking T-2, T-3, T-9, C-6 and E-1 live along with /calculator
Updated — 21 August 2026 · five tasks built on staging, one new technical task added (T-11) · live verified unchanged
Re-audited — all eight quick wins re-tested against live on 21 Aug: all still open · A-1 unblocked, GSC access confirmed working · keyword-gap analysis added from a 90-day pull
One set of IDs across every document. The task IDs here
are now the only scheme in use. The annotated homepage build uses the same labels — the
chip marked E-1 on that page is this E-1, and so on — so a
finding can be traced from the page it appears on to the task that fixes it without a
lookup table.
Five tasks below were found after the scope of work was written, by
crawling the live site: C-5, C-6, T-7,
T-8 and T-9.
Five tasks are built but not delivered.
T-2, T-3, T-9, C-6 and E-1
exist only on ayanuk.webflow.io. They carry a
Built — staging pill rather than a green one, because
nothing has been published to www.ayan.co.uk.
Live was re-verified on 21 August and is unchanged — 17 of 17 checks
confirm the old hero copy, the empty heading, the modal <h2>s and nine H1s
per blog post are all still in place. Promoting to live is a separate, deliberate publish.
Outside the SEO board
The scope of work is explicit that this is not an SEO ticket. It is on this list only so it cannot be lost between the two boards.
-
P0
Detail
Audit item 8.A. Credentials in URLs leak into referrer headers, browser history, server logs and any analytics pipeline. Route this through the security process, not the SEO tracker — the SEO consequence, that these URLs become crawlable, is the least serious part of the problem.
Quick wins
All small, all high-value, all inside Webflow. Each one re-verified against the live site on 11 August 2026 — the status below reflects what is actually on the page today, not what the audit found when it was written.
Six of eight now done — all on staging
QW-1, QW-3, QW-5, QW-6 and QW-8 were built on 26-27 August and verified; QW-7 was already done. None of it is on www.ayan.co.uk yet — it ships with the next production publish.
Two still need a person. QW-4 (robots.txt) is Site Settings only, not exposed in the API. QW-2 is smaller than ticketed — only the title needs rewriting; see the correction on that task.
-
Built — staging
Detail
Done on staging, 26 Aug — all four footer links repointed to
www.ayan.co.uk. Re-measured before the change: 612 links across 153 of 154 pages, worse than the 553 in the audit. Now zero. All four live equivalents return 200, so it was a pure repoint with no content work.Confirmed, and the blast radius is measured — 553 staging links across 138 of the 139 live pages, i.e. the same four footer links on essentially every URL, leaking internal link equity site-wide to an external staging domain.
Correction to the scope of work: it says two of the four already exist on the live domain. All four do —
core-principles-behind-ayans-car-finance,how-to-sorn-car,what-oil-for-my-car,winter-driving-tips. This is a pure repoint with no content work attached. -
P0
Detail
Correction, 26 Aug. Two of the three claims in this ticket are wrong. The meta description exists ("Navigating the intersection of ethical finance and smart driving...") and the H1 is not empty — it renders "Values In Motion: The Ayan Journal." The earlier "missing" reading came from a detection pattern that assumed Webflow writes
namebeforecontent; it writes them the other way round. Only the title needs rewriting, from the literalAyan Blog.Confirmed — the title is literally
Ayan Blogand the<h1>renders empty. At that impression volume this is a snippet problem, not a ranking problem, and it is the cheapest single win available.If it cannot be made to earn clicks, noindex it and record that decision rather than leaving it ambiguous.
-
Built — staging
Detail
Done on staging, 26 Aug — one edit on the category template covers all twelve:
<meta name="robots" content="noindex, follow">. Verified 12/12. follow was kept deliberately so the pages still pass equity to the posts they link to. Homepage, blog archive, posts and calculator confirmed unaffected.All twelve are in the sitemap today:
all,ayan-updates,car-reviews,customer-service,driving-tips,electric-vehicles,ethical-banking,halal-finance,phv-insights,taxi-industry,uber-tips,vehicle-finance. They earn no traffic and consume crawl budget.Confirmed — there is no
meta robotstag on any page anywhere on the site, so nothing is currently noindexed by any means. Crawl baseline captured before the change, so the effect will be measurable. -
P0
Detail
Confirmed —
ayan.co.uk/robots.txtcurrently contains a singleSitemap:line and nothing else. There is no user-agent block at all. -
Built — staging
Detail
Done on staging, 27 Aug — a 1200x630 card was designed from the live wordmark and brand tokens, uploaded to Webflow assets, and set on 20 pages plus both CMS templates. Webflow emits
og:imageandtwitter:imagefrom that one field. Coverage: 152 of 155 sitemap pages; the other three keep their own bespoke artwork. This also closes a live mismatch, sincetwitter:cardwas alreadysummary_large_image, promising an image that did not exist.Set via page settings rather than site-wide head code, so the three pages with their own images do not end up with two competing
og:imagetags. The image deliberately carries no rate or price: it is a site-wide default that platforms cache and cannot be revised per page.Confirmed site-wide —
og:title,og:description,og:type,twitter:title,twitter:descriptionandtwitter:cardare present. 136 of 139 live pages have neitherog:imagenortwitter:image, and not one page anywhere hasog:url.Worth flagging in itself:
twitter:cardis set tosummary_large_image, which promises a large image the page never supplies. Every share of every page currently renders blank. Raise the design request with Nabihah — this is blocked on an asset, not on implementation. -
Built — staging
Detail
Half done on staging, 27 Aug — the duplicate Swiper stylesheet is gone (2 to 1). GTM, CookieYes, all four font preloads, the JSON-LD and the DM Sans rule were all preserved and re-verified.
The second charset tag cannot be removed. It is emitted by Webflow itself, alongside its Google Ads injection, and is absent from the site head, site footer, page head and every registered script. Harmless in practice: browsers honour the first declaration. The Swiper duplicate was the half that actually cost a request on every page.
Confirmed — the homepage head contains both
<meta charset="utf-8"/>and<meta charset="UTF-8" />. Swiper CSS is requested twice. -
Built — staging
Detail
Done on staging, 27 Aug — all four pages went from 0 to 153 inbound internal links, via the footer only.
Most of the fix was uncovering what already existed: Electric Cars, Rent to Buy and Car Hire were already in the footer but their list items were set to
visibility: falseand their links tolinkType: none. Someone had built the column and switched it off. Only/interest-free-car-financeneeded a new label.Confirmed against all 4,557 internal link edges — these four pages have no internal links pointing at them from anywhere on the site, and are therefore unreachable by crawling from the homepage. Google can only find them via the sitemap.
/interest-free-car-finance(861 words) ·/pco-rent-to-buy-cars(1,776) ·/electric-pco-cars(1,563) ·/pco-car-hire(1,540).That is roughly 5,700 words of commercial landing-page content receiving zero internal link equity. For comparison, every other core page has 137 or 138 inbound links.
/interest-free-car-financetargets a named core keyword cluster in Workstream B and is currently invisible to internal crawling.This is a nav or footer edit in Webflow. It is the highest-leverage fix on the entire tracker and requires no new content, no dev time and no data access.
-
Fix applied
Detail
Already fixed —
ayanuk.webflow.io/robots.txtnow returnsUser-agent: */Disallow: /. Webflow subdomain indexing has been turned off since the audit was written.The subdomain still resolves and returns 200, so anything already in the index needs to age out. Verify removal in Search Console rather than assuming it, then close.
Indexation and crawl waste
Priority one in the scope of work: nothing else works until Google can crawl and index the right pages. Deliverable is one spreadsheet, one page per row. Acceptance — Nabihah picks any five URLs from the sheet, pastes them into URL Inspection, and the live status matches what the sheet says.
-
P0
Detail
Done. Confirmed complete by Onur, 27 August 2026.
No longer blocked, 21 Aug 2026 — the service account reads
sc-domain:ayan.co.uksuccessfully; a 90-day pull returned 67,771 query rows and 86,691 page+query rows. TheurlInspectionendpoint this task needs is a separate call but the same credential. Nothing external is now in the way of building the sheet.Every URL that is not indexed, with: exact Google status (“Crawled – currently not indexed”, “Discovered – currently not indexed”, “Duplicate without user-selected canonical”, “Excluded by noindex tag”), whether we want it indexed (yes / no / unsure), diagnosed cause, fix, owner, status.
These statuses come from the
urlInspection.index.inspectAPI endpoint, not fromsearchanalytics.query. That endpoint is capped at 2,000 calls a day, which comfortably covers 133 indexable URLs but will not support inspecting everything repeatedly. -
P0
Detail
Deprioritised, 27 Aug — judged not important for now. Worth noting the premise holds up: canonical tags are present and self-referencing on every page, live included, exactly as this task assumed. An earlier claim in this workstream that canonicals were missing was a false reading from an attribute-order-dependent pattern, and is withdrawn.
Must state which URL is canonical for blog pagination,
activeTabparameters, marketing parameters and fragment URLs. At the volume the audit found, a per-case approach will not converge.One live detail for the policy to resolve: the homepage canonical is
https://www.ayan.co.ukwith no trailing slash, while the sitemap and internal links are inconsistent about it. -
P1
Detail
Done, 27 Aug — sitemap contents reviewed. Excluding the twelve category pages and
/complaintswas considered and deliberately not done: Webflow offers no per-page sitemap exclusion, so it would mean abandoning the auto-generated sitemap for a hand-maintained file that goes stale the moment a post is published. The categories are alreadynoindexunder QW-3 and will leave the index regardless — sitemap membership is a discovery hint, not an indexing instruction. Auto-generate stays on.Crawled 11 Aug 2026 — 147 URLs total: 121 blog posts, 12 category pages, 13 core pages, and no
lastmoddates on any entry. The twelve category pages are the clear “should not be here” set, covered by QW-3.Missing
lastmodis worth raising separately — it costs nothing and helps recrawl prioritisation across 121 posts. -
P1
Detail
Delivered — cannibalisation analysis built and reported: every non-brand query sharing impressions with another URL, fragment URLs folded, brand terms excluded, ranked by shared impressions rather than raw volume. Re-confirmed 21 Aug against a fresh 90-day pull.
Found before the sheet exists — four pages target PCO and Uber vehicle terms:
/private-hire,/pco-car-hire,/uber-rental-cars,/pco-rent-to-buy-cars. Three of them carry near-identical meta descriptions, all promising insurance and servicing included on flexible terms.The crawl reframes this. They are not competing on equal footing:
/private-hirehas 137 internal inbound links and/uber-rental-cars137, while/pco-car-hireand/pco-rent-to-buy-carshave zero (see QW-8). Whatever cannibalisation exists in the SERP, internally the site has already picked two winners by accident rather than by decision.Resolution depends on C-1 — whether the rental fleet is a real product. Flag it here; do not consolidate until that answer lands.
-
P0
Detail
Sitemap half done. The live sitemap is now clean: 154 of 154 URLs return 200, and all eight dated slugs have gone. The 301s were never added. Those eight URLs still return 404 — the sitemap no longer lists them, which quiets Search Console, but any external link or lingering search result pointing at a dated URL still dead-ends. The audit put 41,329 impressions against them. Redirects are Webflow Site Settings, not API-exposed.
Eight sitemap URLs return 404 —
10-cheapest-cars-for-new-drivers-to-insure-in-2026·best-cars-for-uber-xl-in-2025-…·edinburgh-airport-drop-off-and-pick-up-fees-2026·essentials-every-uber-driver-needs-in-2025·halal-car-finance-uk-everything-you-need-to-know-in-2025·how-much-do-uber-drivers-really-make-in-london-2026-…·how-to-get-more-rides-on-uber-in-2025·top-10-cars-for-uber-drivers-in-2025.Every one of them is a dated slug whose undated twin is live and internally linked. Posts were renamed to strip the year, and no redirects were put in place — so any accumulated ranking and any external link to the old URL is being dropped on the floor. One of the eight is a core halal finance post.
Eleven posts are linked internally but absent from the sitemap — including
how-to-buy-a-car-the-halal-way,best-cars-for-learner-driversandwhat-is-a-mild-hybrid-car.Net effect: the true live post count is around 124, not the 121 in the sitemap and not the 49 in the scope of work. Add 301s for the eight dead slugs, get the eleven missing posts into the sitemap, and re-verify before A-1 is built on top of it.
-
P1
Detail
Reported to the team, 27 August 2026. Handed over for ticketing; the app routes sit outside Webflow so the fix is not ours to make.
These sit outside the Webflow site so they cannot be fixed from Site Settings. Related to SEC-1 — the same app surface is where credentials are appearing in URLs. Worth writing as one ticket with two acceptance criteria.
Keyword map
There is no keyword map today. It is the foundation for workstreams C and D, so it comes before them. Acceptance — every indexable URL appears exactly once in Sheet 1 with a primary keyword assigned, and no two URLs share the same primary keyword.
-
Blocked
Detail
Scope is 133 indexable URLs once the twelve categories are noindexed. The uniqueness rule in the acceptance criteria is what will surface the cannibalisation in A-4 formally.
Current position and the queries each URL actually ranks for come free from the GSC API with
pageandquerydimensions — do that pull before buying keyword data, since it grounds the map in what we rank for rather than what we assume. -
Blocked
Detail
Clusters to cover as a minimum — core (halal / Islamic / Sharia / Shariah-compliant / interest-free / no-interest / riba-free car finance); structure (Ijara, Ijara wa Iqtina, Murabaha, rent-to-own, lease-to-own); question-led (is car finance haram, is PCP haram, is HP halal, is a car loan riba, halal alternative to PCP); circumstance (self-employed, no deposit, first-time buyer, students, new to the UK); geographic (London, Birmingham, Manchester, Leicester, Bradford, Nottingham, Bolton); vehicle and use-case (halal van finance, halal PCO / Uber car finance, halal finance for 7-seaters); comparison (vs PCP, vs personal loan, vs 0% APR).
The scope is explicit that a term with 200 searches a month and buying intent is worth more than 5,000 informational searches.
-
P1
Detail
Direct — halal finance. Halal Cars (closest real rival; claims AAOIFI and ICRIE audit; blocks crawlers) · Totalee Halal · InterestFree4Cars · Halal Motor Leasing · ShariaCarFinance (new, thin, still “launching soon”, and an Appointed Representative rather than a lender) · Forza Finance and Saxtons (brokers with a halal page bolted on).
The larger threat — informational interception. Kandoo owns a full guide cluster (
sharia-compliant-car-finance-uk,car-finance-options-for-muslims,best-halal-car-finance-options,halal-car-finance-for-bad-credit) — a broker beating a direct lender on the lender's own topic. MyHalalMoney owns the category-defining listicle and ranks for commercial-investigation intent. CarFinance247 has a halal explainer backed by far more authority than us.PCO and rental. Otto Car, Splend, Fleeto, WeFlex, Hertz. Note G&M Direct Hire, who run an effective and very cheap comparison play —
/blog/splend-alternatives,/blog/6-alternatives-to-otto-cars,/blog/hertz-pco-alternatives. We have no comparison content on either side of the business. -
P1
Detail
Halal finance is national, religiously differentiated, and competes with Halal Cars and Kandoo. PCO and rental is London-weighted, operational, price-led, and competes with Otto Car and Splend. They share a blog today and dilute each other.
One map with one intent model cannot serve both. Two tabs, two competitor sets, two content plans.
Landing pages
Two different things get called landing pages: paid-media pages built for Meta conversion, and indexable keyword-targeted SEO pages built to rank. We need more of both. Acceptance — each new page passes the Rich Results Test with no errors, returns “URL is on Google” within 21 days of publication, and has its starting and current position logged.
-
Blocked
Detail
/uber-rental-carsand/pco-car-hiresell hire from “Ayan's trusted fleet” with insurance and servicing included. That is a fundamentally different product from lease-to-own finance, and it is not mentioned anywhere on the homepage.If the fleet is real it needs its own keyword map, its own competitor set and its own landing pages. If those pages are legacy, the answer is to consolidate or retire four URLs rather than optimise them. Everything else in this workstream waits on the answer.
-
P1
Detail
This is where the moat is. Ayan is an FCA direct lender with an AAOIFI audit, published rates and a national dealer network; most of the competitive set are brokers, appointed representatives or pre-launch. None of that is currently communicated on a page built to rank for the questions buyers actually search.
-
Blocked
Detail
London, Birmingham, Manchester, Leicester, Bradford, Nottingham, Bolton — chosen to match the out-of-home footprint, which is a genuine supporting-media argument for prioritising them.
The question to answer first is whether we have anything real to put on them: local dealer relationships, customer numbers, a local team, regional case studies. Seven boilerplate doorway pages for an FCA-regulated lender is a risk worth refusing rather than absorbing.
-
P1
Detail
Measured — the homepage states "from 7.9% APR-equivalent, representative 11.9%" and no monetary figure at all. No monthly payment, no total payable, no worked example. Zero pages on the site show one.
People search "halal car finance monthly payments" and "how much is car finance on £15,000" — a page with no numbers cannot match those. Specific figures in a table are also among the most-lifted formats for featured snippets.
Blocked: a representative example has a defined legal format for a regulated lender. Compliance must sign off both the figures and the wording. A draft that reconciles at the published 11.9% is in the review build.
-
Live
Detail
Live since 26 August 2026. Published to production by the team, not from this workstream. What was described below as staging-only is now on
www.ayan.co.uk.Built on staging, 18–21 Aug — a four-card "What you need to know" section now answers where we operate, what we can finance, who we finance and how long it takes, with brand-green SVG icons and an apply panel beneath. Compliance review has since moved the card labels off lender language ("Where we lend" → "Where we operate", "Who we lend to" → "Who we finance"). Still uncovered: "self-employed" and "no deposit" appear nowhere on the site and need Product to confirm the answer. Not yet live.
Measured on the homepage —
eligib…0,self-employed0,no deposit0,credit check0,proof of…0,how long0. The only qualifying language is "open to anyone to apply (subject to status)".This is the largest cluster of unclaimed long-tail intent on the site. Stating limits plainly — including not lending in Northern Ireland — also reads as trustworthy where missing eligibility information reads as evasive, and it cuts wasted applications.
Needs Product to confirm whether Ayan lends to the self-employed, to applicants with poor credit history, and without a deposit. Those three answers are deliberately left blank in the review build rather than guessed.
-
P2
Detail
Built for conversion, not for search. Keep them out of the keyword map and confirm the canonical and indexing policy for them explicitly in A-2 so they cannot compete with the SEO pages.
Blog engine
Fix the template before adding volume. Cadence is to be proposed rather than assumed — two well-optimised posts a week beats five thin ones.
-
Blocked
Detail
Confirm the collection has fields for, and the template correctly outputs: SEO title, meta description,
og:image, canonical, author name and bio, table of contents, featured image with alt text, and Article schema. -
P1
Detail
Scope correction — the scope of work estimates roughly 49 existing posts in D1. The crawl finds about 124 live posts (113 reachable from the sitemap, plus 11 linked internally but missing from it — see A-6). The retro-fit job is roughly two and a half times the size it was scoped at, and the estimate should be reset before it is committed to.
Internal linking is the bigger problem than length. Median post length is 798 words and only five posts fall under 500, so the corpus is not especially thin. But 68 of 129 posts have exactly one internal inbound link, and no post contains a single contextual in-content link to a money page — every money-page link on every post is identical navigation chrome, with the same anchor text repeated across all 138 pages. Fixing that is cheaper than rewriting and worth more.
Fix the posts already getting attention first — this depends on the impressions data in A-1.
-
P1
Detail
Section 7, D2 “Blog automation and weekly cadence” is a single empty bullet, but blog automation is priority five in section 1. It cannot be estimated, resourced or agreed until it is written. Propose a cadence with it rather than waiting to be told one.
-
P0
Detail
Measured from the live sitemap — of 121 posts, only about ten are about halal or Islamic finance. Roughly ten more are car-finance adjacent (voluntary termination, HP vs PCP, credit score, guarantors) and are salvageable with a halal angle and internal links. The remaining hundred or so are generic motoring.
Missing entirely, and named in the scope of work: is car finance haram · is PCP haram, is hire purchase halal · is a car loan riba · what is Ijara wa Iqtina · halal car insurance and Takaful explained · what to ask before taking any car finance as a Muslim.
This is the single clearest content finding. The blog is answering questions a Muslim car buyer is not asking, while Kandoo answers the ones they are.
-
P1
Detail
What documents you need for car finance · how long approval takes · car finance with no deposit · settling car finance early · part-exchanging a car with outstanding finance · what happens at the end of a rent-to-own agreement.
-
P1
Detail
The September 2026 registration change is a strong seasonal target, but it overlaps a live UGC campaign running mid-August to mid-November 2026. The scope of work is explicit that Nabihah must be consulted before publishing.
Note the date: that campaign window opens this month, so this needs raising at the next Friday catch-up rather than at the next planning cycle. Car tax changes 2026 sits in the same timely group.
-
P2
Detail
Eight separate airport posts (Heathrow twice, Gatwick, Luton, Stansted, Manchester, Birmingham, Edinburgh), plus material like
best-car-air-fresheners,how-to-jump-start-a-carandbest-muslim-radio-stations-in-the-uk.These are very likely a large share of the 127,214 impressions at 0.02% CTR. They compete with the RAC and Auto Express for traffic that cannot convert into car finance. Make an explicit decision — consolidate, noindex or keep — and record the reasoning, because this is the kind of call that gets silently reversed later.
Entity and brand search
Social media SEO is not one thing, and hashtag optimisation is not it. For a regulated finance brand, Google guessing at our identity is a genuine problem.
-
Live
Detail
Live since 26 August 2026. Published to production by the team, not from this workstream. What was described below as staging-only is now on
www.ayan.co.uk.Built on staging, 18–21 Aug — no longer blocked — one
@graphin the site-wide head carriesFinancialService(FCA firm reference, company number, ICO registration, address, opening hours, sevensameAsprofiles) linked by@idtoWebSite. The blog template addsBlogPosting+BreadcrumbListbound to CMS fields. Verified present on all 152 pages, validated with zero errors. FAQ markup was deliberately dropped — Google retired FAQ rich results for non-government/health sites in Aug 2023. Not yet live.Audit item 1 and the foundation of this whole workstream. Added via Webflow custom code, which requires a paid site plan — confirm the plan before scheduling the work.
Correction — the site has almost no structured data. An earlier read suggested two
ld+jsonblocks on the homepage; the full crawl shows those were matches inside JavaScript strings, not real script blocks. Parsed properly, exactly one page on the entire site carries structured data:/private-hire, withOrganization,ContactPointandPostalAddress. The other 138 live pages have none — noArticleon any of the 121 posts, noBreadcrumbList, noWebSite, noFinancialService.Reuse the
/private-hireblock as the template for the entity facts, then extend site-wide.Entity facts to encode consistently: Ayan Capital Ltd, FCA FRN 1022208, Company No. 15123809, ICO ZB613240; affiliated Ayan Capital 1 Ltd, FRN 1021505, Company No. 15996246.
-
P1
Detail
Screenshot what Google currently shows for “Ayan Capital”, “Ayan car finance” and “Ayan halal finance”. Identify what is wrong or missing, fix what is fixable, ticket the rest.
-
P1
Detail
Complete the profile, keep hours accurate, post to it, respond to reviews. Ties directly into C-3 if the city pages go ahead.
-
P2
Detail
Registered office: 4th Floor, 1 Kingdom Street, London W2 6BD. Support:
support@ayancapital.co.uk. Phone: +44 20 3802 0292. These must match the schema in E-1 exactly, character for character. -
P2
Detail
Both platforms are searched directly for “halal car finance”. Titles, descriptions, on-screen text, closed captions, keyword-led naming. Depends on B-2 landing first, or the naming will not align to anything.
Build and performance
Audit items 4 through 7. Mostly developer-owned, all re-verified against the live homepage on 11 August 2026.
-
P0
Detail
Confirmed, diagnosed, and site-wide — the first image in the DOM carries
loading="lazy"on all 139 live pages, not just the homepage. The LCP element is being explicitly deprioritised by the markup on every URL. This is very likely the majority of the 11.1 seconds, and fixing it at template level fixes it everywhere at once.Do not evaluate Partytown without developer sign-off.
-
Live
Detail
Live since 26 August 2026. Published to production by the team, not from this workstream. What was described below as staging-only is now on
www.ayan.co.uk.Built on staging, 18–21 Aug — the homepage now carries exactly one H1 ("Halal car finance. Finally."). The three process steps moved to H3, the Trustpilot slider heading to H2, and the two hero fragments became a single H1 when the duplicate hero was retired under T-9. Re-verified 21 Aug on
ayanuk.webflow.io. Not yet live.Confirmed — seven
<h1>elements, including “2. Add car details”, “3. Enter dealership bank details”, “4. Pick up & go” and “You're in good hands”. The process steps are numbered content, not page-level headings; they should be H3 within a properly headed section.Also fix the empty H1s on
/blogand/faq, and the split heading on/interest-free-car-financewhere “Interest Free” and “Car Finance” render as two separate H1s. -
Live
Detail
Live since 26 August 2026. Published to production by the team, not from this workstream. What was described below as staging-only is now on
www.ayan.co.uk.H1 half built on staging, 18–21 Aug — blog posts each carried nine H1s, eight of them from four shared template elements. Table of Contents (×2) and Related Articles moved to H2, the five related-post titles to H3, plus two posts whose authors had typed an H1 into the body. All 126 posts now have exactly one H1. The title-tag duplication half remains open.
Found while verifying —
/shariah-compliancestill runs 5 H1s on staging and 6 on live ("Our Sharia", "certification", and two Mufti names). Not covered by the blog template fix; needs its own pass.Measured — the H1 duplicates the title verbatim on 113 pages, and the blog template emits nine H1 elements per post on 102 of them — worse than the homepage's seven. 129 of 139 pages also have at least one skipped heading level.
One template change resolves it across the whole blog collection. Sequence it with D-1 so the template is touched once, not twice.
-
P2
Detail
Confirmed site-wide — 146 of 147 URLs have zero
<header>,<main>,<footer>or<article>elements. Only<nav>and<section>appear anywhere. The homepage alone renders 378 divs.Tag changes are possible in Webflow Designer and are worth doing. The duplicated desktop and mobile DOM is a build-pattern problem and a rebuild decision, not a quick fix — scope it honestly rather than absorbing it into this ticket.
-
P1
Detail
Includes the logo link, the
/shariah-compliancecard, the/private-hirecard and the icon-only social links. Blocked zoom is a straightforward viewport fix. -
P2
Detail
Correction — alt text is not done. Every image site-wide has an
altattribute, which is what an earlier spot-check measured, but 4,666 of 9,141 images have an empty one. Attribute presence is not alt text. Decorative images should be empty by design, so this needs a pass to separate the deliberate from the missed rather than a bulk fill.8,994 of 9,141 images carry no width or height attribute — that is 98%, and it is the CLS problem across the whole site, not a homepage issue.
-
P2
Detail
White text on
#11a850measures 3.12:1. WCAG AA requires 4.5:1 for normal-size text, so every green button with a white label fails — including the primary call to action.Not a ranking factor. This is a legal exposure under the Equality Act for a regulated lender, and low-contrast calls to action measurably cost conversions. A darkened step,
#0a7d3b, measures 5.24:1 and is visually near-identical — a token addition rather than a brand change.#11a850stays correct for large display text and decoration. -
P2
Detail
The root font size is fluid and uncapped:
calc(0.0021098rem + 1.66491vw)below 1920px. At a 1710px viewport that resolves to 28.5px, so body paragraphs render at 28.5px and section headings at 64px, against a conventional 16–18px.Not an SEO defect, but it means far less content sits above the fold, which pushes the substance a visitor came for further down.
clamp(16px, 1.1vw, 20px)caps it near 18.8px. Site-wide change, so it belongs with design rather than in a page fix. -
Live
Detail
Live since 26 August 2026. Published to production by the team, not from this workstream. What was described below as staging-only is now on
www.ayan.co.uk.Built on staging, 18–21 Aug — desktop and mobile heroes were consolidated into one component, so hero copy ships once instead of twice. The empty
<h2>it left behind was removed from the homepage via a newWhite Header Visibilityprop defaulting to true, which leaves the ~20 other pages that populate that heading untouched. Not yet live..section-29is adisplay:noneduplicate of the hero. Invisible to every visitor, but still downloaded on every request — and it placed an<h2>ahead of the page's only<h1>in the document outline.Removing it fixes the outline and drops dead weight in one move. Worth noting it is one instance of a wider pattern: the FAQ block renders three times in the DOM, and the homepage ships 378 divs. That pattern is the rebuild conversation in T-4, not this ticket.
-
P2
Detail
Source-level scan, 21 August 2026. Page-level counts inflate to 227 because listing and category pages echo blog excerpts; the real figure is 101: 52 across 18 blog post bodies, 44 across 13 static pages, 5 in four CMS
descriptionfields. The homepage is the only clean page.Concentrated —
how-to-become-a-pco-driver-in-2025(14) andbest-eats-for-pco-drivers(11) hold half the blog total;/about-usleads the static pages with 11.Two worth doing regardless of the rest:
/shariah-compliancecarries the same "No interest is paid —" line already fixed on the homepage, and/uber-rental-carsand/electric-pco-carshave em-dashes in their page titles, which render in search results.
Open questions
Everything marked Blocked above waits on one of these. Raise all seven at the next Friday catch-up.
- Is the PCO rental fleet a real product? Blocks C-1, C-2, C-3 and the resolution of A-4. Four URLs hang on the answer.
- Search Console and Ahrefs or Semrush access. Blocks A-1, B-1 and B-2 outright, and the impressions-based prioritisation in D-2. For the API route this needs Owner or Full permission on the property, and confirmation of whether it is a Domain or URL-prefix property. The crawl has built the skeleton of Sheet 1 already — URL is the join key, so the GSC columns can be backfilled whenever access lands.
- Who renamed the eight blog slugs, and can redirects be added? See A-6. If Webflow is not preserving old URLs on slug change, this will keep happening every time a post is retitled, and it needs a process rather than a one-off cleanup.
- Is Webflow on a paid site plan? Custom code is required for schema, so E-1 and the whole entity workstream depend on it.
- Do the seven out-of-home cities have real local substance? Blocks C-3. If the answer is no, the right call is to decline the pages rather than ship thin ones under an FCA-regulated brand.
- The blog automation section is empty. D2 in the scope of work is a single unfilled bullet, yet blog automation is priority five. It needs writing before it can be scoped — see D-3.
- The weekly tracker referenced in section 9 is not in the repository. Only the scope of work PDF is committed. If that tracker exists, it should live alongside it.