Google SEO Advanced

Technical SEO for Your Own Site: Best Practices for URL Structure, Breadcrumbs, Pagination, and Canonical Tags

These four technical SEO basics decide whether Google treats your pages as standalone content. Use lowercase hyphenated URLs with no more than 3 levels; make breadcrumbs visible and add BreadcrumbLi...

技术 SEO 四件套:URL · 面包屑 · 分页 · canonicalTechnical SEO four-pack: URL, breadcrumb, pagination, canonical 做错任何一件,抓取预算和收录都会被薄页吞掉 —— 上线前用 GSC 逐模板验证Break any one, crawl budget and indexation get eaten — verify per template in GSC 组件Component 正确做法Do 红线Red line URL 结构URL structure 小写连字符,≤3 层lowercase hyphen, ≤3 levels ?id= 动态参数入索引dynamic ?id= in index /category/product/ 不带日期不带 ID/category/product/ no date no ID 含关键词,单词≤4keywords, ≤4 words 下划线代替连字符underscore instead of hyphen 面包屑Breadcrumb 可见 + BreadcrumbList 标记visible + BreadcrumbList 最多 4 层,末层不链接≤4 levels, last not linked 只有隐藏标记hidden only 分页Pagination rel=next/prev 已废弃,用 canonicalrel=next/prev deprecated, use canonical 分页全部 canonical 到第一页all pages canonical to page 1 第 N 页用独立 canonicalpage N self-canonical 分页≤10 页,超过用筛选≤10 pages, else filter 无限滚动不分页infinite scroll no pagination canonicalCanonical 绝对 URL,自引用absolute URL, self-referencing 多语言配 hreflangpair with hreflang canonical 指到首页canonical to homepage 反直觉:rel=next/prev 2019 年起 Google 已忽略,别再写Counter-intuitive: Google dropped rel=next/prev in 2019 — stop using it 判定:分页第 2 页以后若全部 canonical 到第 1 页,第 2 至 10 页不会被索引,列表页总收录量掉到 1/10Rule: if all paginated pages canonical to page 1, pages 2-10 drop out of index entirely 上线后 7 天在 GSC 索引报告里查「已抓取-尚未索引」,超过 200 条就是薄页或 canonical 误伤Within 7 days check GSC: >200 crawled-not-indexed means thin pages or canonical mistakes 红线:URL 一旦上线 30 天不要改,改版必须配 301 地图,否则外链和排名一起掉Red line: never change a live URL without a 301 map, or you lose both links and rankings
The right way to handle the four technical SEO basics, the red lines, and the thresholds to check after launch

Technical SEO for Your Own Site: Best Practices for URL Structure, Breadcrumbs, Pagination, and Canonical Tags

Bottom line first: These four technical SEO basics decide whether Google treats your pages as standalone content. Use lowercase hyphenated URLs with no more than 3 levels; make breadcrumbs visible and add BreadcrumbList markup; have each paginated page self-reference its own canonical instead of pointing pages 2 through 10 back to page 1; use an absolute URL for the canonical self-reference. Google has ignored rel=next/prev since 2019, so stop using it. Within 7 days of launch, check “Crawled – currently not indexed” in the Search Console index report. More than 200 entries means something is misconfigured.

1. URL structure: lock it in before launch, don’t touch it for 30 days

URLs are the first signal Google uses to judge page hierarchy and topic. The golden rules for your own site’s URLs: lowercase, hyphens, no more than 3 levels, include keywords, no dynamic parameters. If you change a URL after launch, you must add a 301, or you’ll lose both backlinks and rankings.

Rule Correct example Incorrect example
Lowercase with hyphens /hydraulic-hose/ /Hydraulic_Hose/
3 levels or fewer /products/hydraulic-hose/xsr300/ /products/catalog/2024/hydraulic/hose/xsr300/
No IDs /products/xsr300/ /product.php?id=88231
No dates /blog/how-to-choose-hose/ /blog/2024/09/11/how-to-choose/
4 words or fewer /commercial-pressure-washer/ /best-commercial-pressure-washer-for-farms-in-2024/

Dynamic-parameter URLs are the most common indexing black hole for your own site. Shopping carts, filters, sorting, and session IDs all generate URLs with ? parameters. If you don’t deal with them, Google will crawl a dozen parameter versions of the same product page as separate pages. For how to handle this, see the search experience for product catalogs. The key is to block low-value parameters with robots and point valuable parameters to the main version with canonical.

Example: a client’s site used WooCommerce with product URLs like /product/xsr300/, but after adding 3 related-product plugins, it automatically generated URLs like /product/xsr300/?variation=red, and GSC indexed over 1,200 duplicates. The fix was to Disallow ?variation= in robots and hard-code the canonical on the product page as /product/xsr300/.

2. Breadcrumbs: visible navigation + hidden structured data

Breadcrumbs solve two things: visitors know where they are, and Google uses them in the SERP instead of a long URL. You have to do both at once: visible breadcrumb navigation on the page, plus BreadcrumbList JSON-LD in the head.

Breadcrumb approach Recommended? Description
Visible navigation + BreadcrumbList markup Recommended Readable by users and Google, breadcrumbs show in SERPs
Visible navigation only, no markup Works Users see it, but breadcrumbs rarely show in SERPs
Hidden markup only, no visible navigation Not allowed Counts as hidden text, violates Google’s spam policies
Breadcrumbs go more than 5 levels deep Not allowed Too deep, flatten the structure
Link the last level too Not Recommended Self-links are pointless, the last level should be plain text

Keep it to 4 levels or fewer: Home > Category > Subcategory > Product. Use absolute URLs for every level of the breadcrumb, not relative paths. For the BreadcrumbList markup, see Structured data (Schema) the P0 section, and validate it with the Rich Results Test on launch day.

3. Pagination: self-referencing canonical on every page, stop using rel=next/prev

Pagination is where outdated tutorials mislead people most in technical SEO. Google announced back in March 2019 that rel=next/rel=prev are no longer used as signals, yet plenty of tutorials still tell you to add them. They do nothing.

Pagination approach Indexing result Recommended?
Self-referencing canonical on each page (page=2 canonicalizes to page=2) Pages 1 through 10 all indexed separately Recommended
All paginated pages canonicalize to page 1 Only page 1 gets indexed, pages 2 through 10 disappear Mistake
Using rel=next/prev Google ignores it, no effect Outdated
Infinite scroll with no pagination links Content past page 2 can’t be crawled Mistake
Still paginating past 10 pages High thin-page risk Switch to filters or an A-Z index

The counterintuitive part: many people think canonicalizing paginated pages to page 1 concentrates link equity, but the result is that pages 2 through 10 never get indexed and your total indexed list pages drop to 1/10. The right approach is to point each page’s canonical at itself, so Google treats every page as separate content. If a category has more than 10 pages of products, replace pagination with filters or an A-Z index instead of endless pages.

4. canonical: absolute URLs, self-referencing, paired with hreflang

The canonical tag tells Google: “this page and that page are the same content, treat mine as the original.” It’s your first tool for handling duplicate content, but using it wrong is worse than not using it at all.

How to write canonical Results What it means
<link rel=”canonical” href=”https://site/a/”> absolute URL Points to the right primary version Standard practice
canonical written as a relative URL /a/ Google usually resolves it, but it’s risky Not Recommended
canonical points to the homepage Page equity gets merged incorrectly Serious error
canonical points to a 404 or deleted page Page drops out of the index Serious error
Pair canonical with hreflang on multilingual pages Each language indexed separately Standard practice

On multilingual sites, canonical must work with Hreflang for multilingual sites: the English page canonicalizes to its own English URL, and hreflang lists every language version. Don’t point the German canonical at the English page, or the German page will vanish from German search results. For how to choose a plugin, see crater Tech Stack.

Example: after a site redesign, a client 301-redirected the old URL /old-product/ to /new-product/ but forgot to add a self-referencing canonical on /new-product/. GSC then reported “User-declared canonical not selected.” One line of canonical later, the error cleared within 5 days. This problem spikes during site migrations. See Site rebuilds and domain changes.

5. 7-day post-launch verification checklist

The four essentials aren’t done when the code ships. You have to verify them in GSC.

What to check Tools Timeframe Pass criteria
Spot-check URL structure URL Inspection tool Launch day 5 random URLs, no parameters, no more than 3 levels deep
Breadcrumb markup Rich Results Test Launch day No errors
Pagination indexing GSC Indexing report Day 7 Pages 2 through 10 all indexed
Canonical selection rate GSC Page Indexing report Day 14 Fewer than 5 “User-declared canonical not selected” errors
Thin page count GSC “Crawled – currently not indexed” Days 7 and 14 Under 200 and falling

Performance and technical SEO are two layers: URLs, breadcrumbs, pagination and canonical fall under crawlability, while Core Web Vitals falls under usability. Clear both layers before you worry about content and backlinks. See Google SEO other articles in this section.

6. How robots, sitemaps and crawl budget work together

Beyond the four essentials, two switches get overlooked: robots.txt and your XML sitemap. They decide which URLs Google’s crawler spends its limited crawl budget on.

Tools Role Typical setup
robots.txt Disallow Block crawling of low-value URLs Block cart, filter parameters and admin
robots.txt Allow Explicitly allow important directories Allow: /products/ /blog/
XML sitemap Tell Google which pages matter Include only indexable pages, no noindex URLs
Sitemap index Split when you have many pages Separate products.xml, blog.xml and pages.xml

A common mistake is putting noindex URLs in your sitemap. That confuses Google: you say don’t index this, but you also say the page matters. Do it right by including only indexable URLs in the sitemap. Noindex pages stay out of the sitemap, and you shouldn’t expect Google to crawl them.

Example: a client site had 5,000 product pages, but GSC showed Google crawling only 800 URLs a week, 600 of them eaten by cart and filter parameters. The fix was to Disallow /cart/ and any URL with ?filter= in robots.txt, freeing that crawl budget for product pages. Two weeks later, product page crawls rose from 200 to 650 a week and indexation went from 30% to 75%.

Crawl budget isn’t just a big-site concern. A B2B site with 200 products and 10 new blog posts a month will still see Google spend its budget in the wrong place if 5,000 thin pages get crawled. Technical SEO is really about concentrating that budget on the pages that matter.

One last common mistake: many people run a URL inspection tool once and think they’re done. In reality, you should check GSC’s “Page Indexing” report once a week. If the “Crawled – currently not indexed” count rises for two weeks straight, it means either new thin pages are being generated or something new broke in your canonical setup. Keep that number under 200; once it goes over, check robots, sitemap, and your most recent template change.

Multilingual sites also need to watch how hreflang and canonical work together. Each language page’s canonical should point to itself, and hreflang should list all language versions. Don’t point an English page’s canonical to a German page, and don’t let an English page’s hreflang point to a URL that doesn’t exist. Wrong hreflang tags are the number one cause of indexing problems on multilingual sites. See Hreflang for multilingual sites.

Technical SEO has a priority order: fix crawl errors first, then indexing errors, then rankings. A site that hasn’t even set up robots properly has no business talking about rankings. Use GSC’s “Coverage” report to clear errors to zero first, then check keyword positions in the “Performance” report. The order matters.

Here’s a final self-check list: before launch, run five template pages through the URL inspection tool and confirm HTTP 200, correct canonical, no breadcrumb markup errors, self-referencing pagination, and no accidental robots blocks. Pass all five and your technical SEO layer is delivered. The rest is content and backlinks.

FAQ

Hyphens or underscores in URLs?
Hyphens. Google officially treats hyphens as word separators, while underscores merge two words into one. So /high-pressure-washer/ is correct, and /high_pressure_washer/ gets read as a single word.
Should pagination use rel=next/prev?
No. Google announced in March 2019 that it no longer uses rel=next/rel=prev as a pagination signal, so adding them does nothing. The right approach is a self-referencing canonical on each page, letting pages 1 through N each be indexed independently.
Should page 2 and beyond of a paginated series canonical to page 1?
No. Doing that makes pages 2 through 10 all disappear from the index, dropping total indexed list pages to 1/10. The right approach is for each page’s canonical to point to its own URL. If a category has more than 10 pages of products, replace pagination with filters or an alphabetical index.
Should canonical use a relative or absolute URL?
Use an absolute URL. Google can resolve relative URLs in most cases, but absolute URLs are safest, especially across multiple sites, CDNs, and HTTP/HTTPS switches. Format it as a full URL starting with https and ending with a slash.
Can breadcrumbs just display on the page without structured data?
It can work, but breadcrumbs are far less likely to replace the URL in the SERP. Write BreadcrumbList JSON-LD as well, use absolute URLs in the fields, and validate it with the Rich Results Test on launch day. Markup without visible navigation counts as hidden text, which is a violation.
Can I fix a typo in a URL after it goes live?
Yes, but you must set up a 301 redirect map that points the old URL permanently to the new one, then use the URL Inspection tool in Search Console to request a re-crawl. Changing URLs is high risk: rankings and backlinks will fluctuate for 4 to 8 weeks, so don’t do it unless you have to.

Final thoughts

None of the four technical SEO basics is magic. They just let Google understand your site correctly. URLs define structure, breadcrumbs show the path, pagination drives indexing, and canonical tags remove duplicates. Get any one of the four wrong and your content won’t rank no matter how well it’s written.

Three steps to get started: this week, spot-check 5 template pages with the URL Inspection tool and confirm there are no dynamic parameters and no more than 3 levels deep; next week, fix your pagination and canonical templates and remove every rel=next/prev; in week three, check the GSC Indexing report to see whether “Crawled – currently not indexed” is under 200.

One line worth remembering: technical SEO isn’t a bonus, it’s the ticket in. Get these four things right and your content even gets a hearing.

Cui Lishu
Cui Lishu Crater experts

Delivery · Operations Lead · Crater Delivery & Operations Team

Delivery & Operations Lead at Crater. Responsible for SEO execution, social media channel operations, and content distribution, with a knack for breaking down growth actions with data. Has overseen the delivery of multiple go-global projects, with a focus on the coordinated playbook across Facebook, Twitter, TikTok, YouTube, and SEO/GEO.

SEO executionContent operationsCase breakdowns
1106articles shared
84knowledge base articles