The coverage report still treats the old parameter URLs as valid while the new category templates sit in Discovered - currently not indexed.
That is the usual starting point. A marketing lead buying an SEO audit already has a crawl file. What is missing is a ranked list of work that changes indexation, crawl, and intent - not another dump of every 4xx the spider happened to hit.
A proper audit is a decision document. It says what we fix this sprint, what we park, and what will still be broken after the next plugin update. If the deliverable cannot do that, it is a crawl export with a cover slide.
We write audits for teams in the Philippines who already ship content and still cannot explain why money URLs will not index. The rest of this piece is the bar we hold ourselves to, and the bar you should hold anyone else to.
Indexation first, not a keyword dump
Keywords do not belong at the top of an audit. Indexation does.
We start with what Google actually selected, what it crawled and discarded, and what it has never fetched. Search Console coverage, the URL Inspection samples, sitemaps versus the live URL set, and the gap between “submitted” and “indexed” tell us whether the next month of content will even exist in the index.
If commercial templates are stuck in Crawled - currently not indexed, writing more blog posts will not move revenue. If faceted URLs are valid and competing with the canonical category, the content calendar is feeding the wrong inventory.
We sample by template, not by vanity URL. One product page that indexes does not mean the template indexes. One blog post in the top stories block does not mean the category hub is in the index. The audit has to say which templates are in, which are out, and which are in for the wrong query.
That finding sits above every keyword table. Without it, the rest of the file is decoration.
Crawl waste and what the bot actually spent time on
Crawl is a budget, even when the site is not huge.
We look at what the bot spent time on last month: parameter stacks, expired campaign landing pages, faceted filters, paginated archives, and staging leftovers that still return 200. Log files beat a single crawl snapshot because a snapshot is what we asked the spider to see, not what Googlebot did see.
If crawl is being burned on search-result pages inside the site, the money templates get fetched less often. If JavaScript templates only resolve the primary content after a second request the bot does not always make, we have a rendering problem, not a “thin content” problem.
A proper audit names the waste in order of crawl share, then names the fix: robots rules, parameter handling, internal link pruning, or a render-path change. “Block it in robots.txt” is not always the fix. Sometimes the internal links are the invitation.
We also check whether the XML sitemaps are a clean list of indexable URLs or a historical dump. A sitemap that still lists 2019 campaign URLs is not a sitemap. It is a hint to recrawl junk.
Intent against the live URL inventory
Intent is where most audits go soft.
We map the live URL set against the jobs those URLs are supposed to win: commercial investigation, local service, comparison, and the informational pieces that should feed them. Then we look at what actually ranks, what cannibalises, and what was written for a keyword that no longer matches the page.
Two service pages targeting the same head term is not “more coverage”. It is a split that Search Console will report as impressions with no preferred URL. A blog post that outranks the service page for a buying query is not a content win. It is a template problem.
The audit has to say which URL we want for each intent cluster, which URL is currently winning, and whether the winner can be repaired or should be consolidated. That is priorities, not a list of “missing H1s”.
We do not invent clusters that the site cannot support. If the product line does not exist in the Philippines, we do not brief a landing page for it. If the sales team cannot fulfil Metro Manila and Cebu on the same SLA, local intent has to be split honestly.
Technical blockers that keep money pages out
Once indexation and crawl are on the table, we go looking for the blockers that keep money pages out.
Status codes, redirect chains, canonical conflicts, hreflang errors, mixed indexation on HTTP and HTTPS, and noindex left on a pagination pattern after a redesign - these are the usual suspects. We also check Core Web Vitals at template level, not as a single field-data score that hides the product grid.
JavaScript-rendered primary content, lazy-loaded copy that never appears in the rendered HTML, and infinite scroll with no paginated fallback are still common on Philippine ecommerce and lead-gen stacks. A lighthouse score of 90 on the homepage does not clear a category template that ships empty in the first HTML.
When organic sessions fall without a ranking story, we start from Google debugging search traffic drops and work through coverage, robots, and the pages Google actually recrawled, rather than guessing at a named update. The documentation is the sequence; the audit is the site-specific answer.
If the blocker is the bot path rather than the brief, that work belongs with technical seo services philippines, not with another round of title-tag edits.
On-page, content, and the pages that should not exist
On-page work only starts after we know the URL should exist.
Titles, headings, internal anchors, and the first paragraph have to match the intent we already chose. Duplicate titles across a template are a production issue, not a copywriting issue. Thin category copy that is the same three sentences on 200 URLs is a template issue.
We look at the pages that should not exist: tag archives, author archives that repeat the blog, print versions, leftover UTM landing pages, and English pages that were never localised but still sit in the sitemap. Every one of those URLs is a crawl and quality signal.
Content gaps get listed against intent, not against a competitor’s word count. If the buying page has no proof, no fulfilment detail, and no local trust, the gap is on that URL. A 2,000-word guide will not fix it.
We also mark content that is fine and should be left alone. An audit that recommends rewriting every ranking URL is not an audit. It is a content retainer in disguise.
Local, hreflang, and Philippines search realities
An seo audit philippines file that ignores NAP consistency, Google Business Profile categories, and city-level landing pages is only half a file.
We check whether Metro Manila, Cebu, Davao, and the service areas sales actually cover have a URL, a unique proof block, and a path from the homepage that a person would click. Door-page city copies with the same paragraph and a swapped H1 do not help. They get filtered.
Hreflang matters when there is a UK or US parent site and a .com.ph property. Wrong return tags, x-default pointing at the wrong host, and English-only canonicals on Filipino pages are still in the wild. The audit has to say which host is the Philippine one for which queries.
Mobile usability is not a separate “mobile SEO” chapter. It is whether the tap targets on the quote form work on a mid-range Android, because that is the device mix. If the form fails, the ranking URL is a bounce.
We do not treat “Philippines” as a keyword to stuff into every title. We treat it as the market, the language mix, the hosting and TTFB reality, and the local pack the sales team actually wants to win.
An seo audit checklist that ranks work, not findings
Findings without owners are noise.
A usable seo audit checklist ranks each item by effect on indexation, crawl, or intent, then by effort, then by who can ship it. Engineering, content, and local listings are different queues. Mixing them into one red-amber-green sheet is how the PDF dies in a shared drive.
We write each item so a marketing lead can walk into a sprint planning session with it. “Resolve canonical on the filter URLs so the category template is the only indexable version” is a ticket. “Improve SEO on filters” is not.
The checklist also says what we will not do. No one needs 40 identical recommendations to add alt text on decorative icons. If alt text is a real problem on product images, we say so once, at template level, with the CMS field that is empty.
Severity is not the same as priority. A 500 on a forgotten microsite is severe and still not this quarter’s work if that host has no commercial URLs. Priority follows revenue paths and indexation of those paths.
Migrations, AI search, and what the next quarter will break
A proper audit looks slightly ahead of the current crawl.
If a replatform, a domain move, or a navigation redesign is on the roadmap, the audit has to flag the redirect map, the parameter rules that will not survive the new platform, and the templates that will ship without unique titles. Migrations fail in the map, not in the go-live tweet.
AI search and citation surfaces change what “winning the query” looks like. We still need the URL to be indexable, crawlable, and the clear answer for the intent. Structured data that matches the visible content, author and organisation markup that is true, and pages that answer the question in the first screen are the boring prerequisites. We do not bolt a generative-engine chapter onto a site that cannot index its own services.
We also note tracking debt. If GA4 and Search Console properties do not cover the same hosts, or if the filtered view still includes the staging subdomain, the next traffic drop will be undebuggable. That is an audit item because it decides whether we can trust the numbers we just used.
What we need before anyone logs in
We cannot audit a site we cannot see.
Before a scoped engagement, we need Search Console and analytics access, a list of the money templates, the last migration date, any robots or CDN rules that are not in the HTML, and a straight answer on what sales actually wants to rank for in the next two quarters. Brand terms that already convert are not the brief.
We also need to know who ships the fixes. If engineering has a two-sprint freeze, the audit still runs, but the priority list changes. If content is a freelancer with no CMS access, on-page tickets have to be written as copy decks, not as “update the H1”.
If those inputs are in place and the coverage report still disagrees with the crawl, commission the work from our seo audit services brief. That page is the scope we actually deliver against - technical, on-page, content, local, and migration - not a public package with a price on it.
Bring the coverage report, the last crawl, and the list of URLs that are supposed to make money. We will tell you which of those URLs are in the index, which the bot is ignoring, and which intent they are accidentally serving. Then we will give you a checklist a sprint team can run, in the order that changes the site.
If the fit is real, the next useful step is a scoped audit with owners, not another 70-tab file.