Our Drupal SEO services start with one audit of the whole site. A Drupal SEO audit reads every page the way a search engine does: what it can crawl, what it indexes, the titles and descriptions it shows, the structured data it trusts, how fast each page loads on a phone, and which searches already bring people to you according to Search Console. Each finding is traced to the Drupal module, template or setting behind it, ranked, and written up so your developers, another agency or our team can fix it. The audit is one piece of work at a fixed price, quoted from the size of the site, and we audit Drupal sites only.

Who this is for
- Search brings fewer visitors than it used to. Traffic fell after a migration, a redesign or an upgrade, and nobody can say which pages lost it or why.
- Pages are missing from Google. Search Console reports pages as crawled but not indexed, as duplicates without a chosen canonical, or as blocked, and the reasons lead back into Drupal's configuration.
- The site moved and old addresses broke. Links from other sites and saved bookmarks land on 404 pages, or on chains of redirects left by earlier versions of the site.
- A rebuilt site is about to launch. You want metadata, redirects, the sitemap and speed checked before search engines see the new site, not after.
- An agency looks after a client's Drupal site. The client asks why search traffic is down, and you want the technical answer from a Drupal team before you reply.
If the question is what the site is built from, or what an upgrade will cost, start with the Drupal site audit. If you already know speed is the problem and want it traced into caches, queries and scripts, then held with a budget, that is Drupal performance and Core Web Vitals work. The SEO audit measures the speed of every page as well, because search depends on it, but it does not replace either of them.
SEO audit, site audit or performance work
These services sound alike and answer different questions. The table shows which one fits yours.
| Your question | Audit | What it covers |
|---|---|---|
| Why does search bring fewer visitors, or the wrong ones? | Drupal SEO audit, on this page | Crawling, indexing, metadata, structured data, speed on every page, keywords from Search Console, your name in search and links from other sites |
| What is the site made of, and what will changing it cost? | Drupal site audit | Modules, custom code, configuration, security, accessibility, hosting and who holds the keys |
| Why are these pages slow, and how do we keep them fast? | Performance and Core Web Vitals | Where the time goes on each page type, fixed in order of effect, with a performance budget in your deployment checks |
When an SEO audit finds that a cause sits deeper, in the cache layer or in modules that hold back an upgrade, the report says which of the other audits answers it.
What you get from a Drupal SEO audit
- A report written for the person who approves the budget and for the developer who will make the changes, with the evidence for every finding: the address, the export or screenshot, and the date it was checked
- A task list in priority order: each task names the page or template, the Drupal module or setting involved, the fix, the effort and a pass condition that says when it is done
- A checklist of every check we ran and its result, so what passed is visible as well as what failed
- A measurement baseline: Lighthouse results for every page on mobile and desktop, Core Web Vitals from Search Console where the traffic allows, and the queries and pages Search Console reports
- A keyword map: the searches each page already appears for, scored by potential and difficulty, with the one page that should own each of them
- A walkthrough of the report with your team, or with the team you hire to do the work
Sample Drupal SEO audit findings example.org · Drupal 10.3 · English and French
- Critical Pages or links lost to search
- High Signals split or wasted
- Medium Pages weaker than they need to be
- Low Polish
-
Critical
SEO-01RedirectsArticle addresses from the Drupal 7 site return 404
- Where
- Old sitemap and backlinks; no entries in the Redirect module
- Fix
- A 301 from each old address to its node; 410 for retired articles.
- Effort
- A day
-
High
SEO-02MetadataEvery event page shares one title and description
- Where
- Metatag default for the Event content type prints the site name only
- Fix
- Title and summary tokens on the content type default.
- Effort
- Hours
-
Medium
SEO-03SpeedThe main image on article pages is lazy loaded
- Where
- Image formatter of the article's full display
- Fix
- Load the first image early with its size set; keep lazy loading below it.
- Effort
- Hours
-
Low
SEO-04Structured dataThe theme prints a second Organization without an @id
- Where
html.html.twigand Schema.org Metatag both print JSON-LD- Fix
- Remove the theme copy; refer to the one Organization by its @id.
- Effort
- Under a day
The priority and the pass condition are the parts teams use most: they turn a list of problems into an order of work that anyone can check.
An engineer reads it and replies within one business day.
How a Drupal SEO audit runs
How a Drupal SEO audit runs
- Scope The site, its languages and the searches that matter to you, agreed in writing. You keep the scope statement
- Access Read access to Search Console and analytics, and to the code or a copy of the site. Production stays untouched
- Crawl and measure Every indexable address crawled, Lighthouse run on each page on mobile and desktop, Search Console data exported. You keep the baseline
- Report Findings traced to their cause and ranked, each with its fix, effort and pass condition. You keep the report
- Walkthrough We take your team, or the team you hire, through anything they want explained. You keep the task list
If you want us to make the fixes, they are quoted separately, against the findings, and nothing in the audit depends on hiring us for them. We work on a copy of the site and release through your normal deployment. Each task carries a development status and a QC status, and it counts as done only when someone other than its developer has checked it against its pass condition. The pages are then measured again with the same tools, and you receive the numbers from before and after each change.
What the Drupal SEO audit looks at
- Crawling and indexing. The robots.txt file, robots meta tags and headers, canonical tags, hreflang between translations, the XML sitemap against what Search Console reports as indexed, and copies of the site on other hosts, protocols or trailing slashes.
- Status codes and old addresses. Pages that answer 404 or 500, redirect chains and loops, and addresses from earlier versions of the site, collected from Search Console, archived copies of the site and links from other sites. Each one with a real successor gets a permanent redirect to it, content that is gone for good answers 410, and an address with neither is left as a 404 on purpose.
- Page by page. The title and meta description of every page, with duplicates and lengths, one H1 and a heading order that follows the content, thin pages, orphan pages and the internal links between the rest.
- Structured data. Organization, Service, BlogPosting and breadcrumb markup checked against what each page shows, with one identity for your organisation across the whole site.
- Speed on every page. Lighthouse on mobile and desktop for every indexable page, not a sample, and Core Web Vitals from real visits where the site has the traffic. The usual causes are fonts, image formats and sizes, the wrong image lazy loaded, render-blocking CSS and scripts, tag managers and cache rules.
- Keywords from Search Console. The queries each page already appears for, scored by potential and difficulty, pages that compete for the same query, and searches with no page to answer them.
- Content that meets the search. The heading and opening paragraph of each key page, read against the searches it should win, and whether they answer what the query asks.
- Your name in search. What appears when someone searches for your organisation: the knowledge panel, directory and review profiles and, for Drupal agencies, the organisation page on drupal.org, and whether names, addresses and links agree.
- Links from other sites. Links that point at addresses you no longer serve, to be reclaimed with a redirect or a corrected link, and the directories and communities where the site should be listed.
Where Drupal SEO problems usually sit
Most findings on a Drupal site come back to the same modules and settings. The table lists where we look first, and the fix that usually follows.
| Module or layer | What we check | Usual fix |
|---|---|---|
| Metatag | Defaults for each content type and vocabulary, tokens that print only the site name, empty descriptions, and the Open Graph tags that shared links use | A default per content type that writes a real title and description, with overrides where editors need them |
| Pathauto and aliases | Patterns per content type, aliases changed without a redirect, duplicate aliases, and pages still reachable at their node number | Stable patterns, and a redirect kept for every alias that changes |
| Redirect | Chains, loops, redirects that end on a 404, and addresses from an older site that nobody mapped | Every old address reaches its page in one hop; retired content answers 410 |
| Simple XML Sitemap | Which content types are included, and whether noindexed, redirected or missing pages are listed | Only canonical, indexable pages, regenerated as content changes |
| Structured data, from Schema.org Metatag or the theme | Duplicate or conflicting graphs, a second Organization printed by the theme, types that do not match the visible page | One graph per page, and one Organization @id that the rest refer to |
| Languages and hreflang | Language prefixes, untranslated pages served under another language, hreflang pairs that do not point back | Reciprocal hreflang between real translations only, with an x-default |
| Image styles and media | Images served at upload size, missing width and height, missing alt text, and the main image lazy loaded | Responsive image styles in WebP or AVIF, the first image loaded early, alt text from the media field |
| Caching and CDN | Page cache and Dynamic Page Cache, cache tags, CDN rules, and error pages cached as if they were content | Pages served from the edge and purged by cache tag, with errors never cached as normal pages |
This is what technical SEO for Drupal comes down to: most of it is fixed once, on a content type, a view mode or a template, and every page built from it follows. That is why the report names the setting rather than repeating one fix for every address it affects, and why a long crawl report often turns into a short list of changes. We maintain modules on drupal.org ourselves, among them WE Mega Menu, whose menus carry the internal links of the sites that use it, so we read module settings and issue queues as maintainers do.
How findings are put in order
Every finding is scored for its effect on search, the number of pages it reaches, the effort to fix it and the strength of its evidence. The order then follows a plain rule:
- What keeps pages out of search comes first. Blocked or noindexed pages, broken canonicals, server errors and lost addresses.
- Then what splits or wastes signals. Duplicate titles and pages, redirect chains, and pages competing for one query.
- Then what makes pages weaker than they need to be. Missing descriptions, openings that miss the query, slow templates, and structured data that does not match the page.
- Polish comes last. Changes that help, once the rest holds.
Within each level, a fix to a template or a content type comes before a fix to one page, because on Drupal it reaches every page built from it. A finding without evidence does not go in the report.
What we cannot promise
Nobody can promise a ranking, and we do not. Search engines set positions from signals no site owner controls, including what competitors publish and how the engines change their own rules. An audit sold with a guaranteed first place is selling something it cannot deliver.
What we commit to is narrower, and you can check it: every check on the checklist is run, every finding comes with its evidence, and every fix we make meets its pass condition before it is released. Lighthouse shows a change on the day it ships. The Core Web Vitals report in Search Console reads real visits over the previous 28 days, so it catches up over the weeks that follow.
The same audit, run on weebpal.com
This is the process we ran on our own site in 2026. Every page was measured in Lighthouse on mobile and desktop. Addresses from earlier versions of the site were collected from Search Console and from archived copies of the site in the Wayback Machine. Each one with a real successor now reaches it in one permanent redirect, retired content answers 410, and addresses with neither stay 404 on purpose rather than landing on a page that does not answer them. The structured data was brought down to one Organization with one identity, fonts were subset and self-hosted, images moved to modern formats at the sizes each layout uses, and third-party scripts were set to load when they are needed. Each task went through a development status and a QC status before it counted as done, and the pages were measured again after each change.
The keywords behind this page came from the same exercise: our own Search Console data where a query had any, and checks of the search results and of Google's suggestions where it had none, all scored and mapped to the page that should own each query.
What a Drupal SEO audit costs
The audit is priced from the size of the site: the number of indexable pages and page types, the languages it publishes in, the systems that feed it content, and whether Search Console and analytics data are available. It is one piece of work at a fixed price, quoted before it starts, and nothing in it depends on hiring us afterwards.
Fixes are quoted separately, against the findings, so you can take the ones that matter most first and stop where you choose. On the pricing page, the audit sits under maintenance and support, as one piece of work rather than a monthly fee, and so do the fixes that follow it. A site we build for you gets the SEO and performance baseline at launch, which every project tier from Micro to Strategic includes.
Terms that hold
These terms hold across our services; where a service starts differently, its page says how. The full wording is on the warranty page and in why you own the source code.
- A prototype before you sign a build Before a build project is signed, we build a prototype at no charge: a design, a clickable prototype or a working demo on real code, so you decide against something real.
- You receive the system and its source code Custom work is yours from the first commit: the repository, custom modules, theme and deployment configuration. When we build your system on one of our platforms, you receive the whole system and its source code as well.
- A warranty on development work Development projects carry a 1-year warranty by default, up to 3 years. It covers defects in what we built, and applying the security releases of Drupal core and contributed modules while the warranty runs. Maintenance picks up where the warranty leaves off.
- Response targets we publish A first response in 4 hours for critical issues, 1 business day for high priority and 3 business days for normal. Support runs in business hours; cover outside them is an option, priced separately.
Questions we get asked
Can you guarantee a first-page ranking?
No, and be wary of anyone who does. Positions depend on what competitors publish and on how search engines weigh their signals, which nobody outside those companies controls. What we commit to is the work: every check run, every finding backed by evidence, and every fix we make checked against its pass condition and measured before and after.
How is this different from your Drupal site audit?
The Drupal site audit asks what the site is made of: modules, custom code, configuration, security and hosting. The SEO audit asks how search engines read it, page by page. They meet on speed and on a few settings, and each report says when the other audit is the better next step. If both questions are open, say so when you ask for a quote.
How is it different from Drupal performance optimisation?
The SEO audit measures every page and names the causes of the slow ones, because speed is one of the things search depends on. Performance work goes deeper into fewer pages: it traces the time into caches, queries and scripts, fixes it in order of effect and sets a budget that stops a release which breaks it. When an SEO audit finds deep performance problems, the report says so, and that work is quoted on its own.
What access do you need, and do you touch the live site?
Read access to Search Console and analytics, and either read access to the repository or a copy of the site. Crawls and Lighthouse runs are made from outside, against the public address, so the live site needs no changes. Any account we are given is removed when the audit ends.
We have never set up Search Console. Can you still audit the site?
Yes. We help you verify the site at the start. The crawl, the Lighthouse runs and the page checks do not need its history; the keyword scoring does. Without that history, the scoring starts from the searches the site should win rather than the ones it already appears for, and the report says so.
Do you audit sites that are not built on Drupal?
No. The audit traces each finding to the Drupal module, template or setting behind it, and that is where its value lies. If you are moving a site onto Drupal, its old addresses and metadata are carried across as part of a Drupal migration instead.
Can our own team or another agency make the fixes?
Yes, and the report is written for that case. Each task says where the change is made, what to change, how much effort it takes and how to check it, so any Drupal team can quote from it and work through it. The walkthrough is open to them.
Is this a one-off, or an ongoing arrangement?
A one-off. You receive the report, the task list and the checklist, and they are yours to act on. If you want us to make the fixes, they are quoted as a piece of work of their own, against the findings.
Will the fixes change how the site looks or how editors work?
Rarely. Most fixes are configuration, templates and redirects that visitors never notice. Where a finding changes what editors do, such as a summary field that becomes required or alt text on images, the report says what changes for them and why.
How long does an audit take?
It depends on the number of pages and languages, and on how quickly access is granted. The quote states the time along with the price, before anything starts.
Not covered here? Ask us directly.
Request an SEO auditAn engineer reads it and replies within one business day.
Migrate & Audit
Related services
Tell us about the site and the searches that matter
Send the address, the languages it publishes in and whether you can share Search Console. We will say what the audit covers on your site and quote a fixed price for it.
An engineer reads it and replies within one business day.