# SEO

Canonical URL dan Redirect: Panduan Implementasi Praktikal

Canonical URL dan Redirect: Panduan Implementasi Praktikal

Canonicalization mengumpulkan URL yang duplicate atau sangat serupa dan mengenal pasti URL representative untuk Cari. Redirect pula mengubah URL yang diminta oleh user dan crawler. Kedua-duanya membantu consolidation, tetapi pilihan tepat bermula dengan soalan sama ada old atau alternate URL masih perlu boleh diakses.

Buat keputusan URL sebelum memilih tag

Kedua-dua URL perlu kekal accessible dan equivalent: gunakan Canonical. Satu URL berpindah kekal: gunakan server-side 301 atau 308. Routing sementara: gunakan 302 atau 307. Content tiada tanpa relevant replacement: pulangkan 404 atau 410. Kemudian selaraskan link, Sitemap, hreflang dan metadata.

Canonicalization ialah pemilihan, bukan pemadaman

Google mengumpulkan page dengan primary content duplicate atau sangat serupa, kemudian memilih URL yang dianggap paling lengkap dan berguna sebagai representative. Canonical terpilih biasanya dicrawl lebih kerap; alternate boleh dicrawl kurang dan lazimnya tidak dipaparkan berasingan.

Duplicate status bukan penalty automatik. Ia menjadi masalah apabila important URL kehilangan selection, signal berpecah antara avoidable variants, tracking tidak konsisten atau crawler memasuki URL space yang tidak terkawal.

IstilahMaksudBukan bermaksud
Canonical clusterURL yang dianggap duplicate atau sangat serupaSetiap byte mesti sama
User-declared CanonicalURL pilihan pemilik siteArahan yang Google wajib ikut
Google-selected CanonicalRepresentative dipilih selepas signal dinilaiSemua alternate rosak
Alternate URLURL lain dalam cluster samaSeparate landing page secara default
Redirect sourceURL yang menghantar request ke lokasi lainURL yang patut kekal dalam Sitemap

Pilih control berdasarkan pengalaman user

OutcomeControl utamaBrowserJangkaan index
Kedua-dua equivalent URL kekal tersediarel="canonical"Requested URL kekalSatu representative dipilih
Old URL berpindah kekalHTTP 301/308Browser ke new URLTarget menjadi preferred
Routing benar-benar sementaraHTTP 302/307Browser berpindah sementaraSource kekal preferred
Content tiada tetapi ada close replacement301/308 ke replacementUser tiba pada equivalent contentSignal boleh consolidate
Content tiada dan tiada replacementHTTP 404/410Useful not-found pageOld URL keluar beransur
Page accessible tetapi tidak mahu indexnoindexPage masih boleh digunakanDikeluarkan selepas recrawl
Private contentAuthentication dan authorizationAccess controlTidak publicly retrievable

Canonical signals mempunyai kekuatan berbeza

Google mendokumenkan permanent redirect dan rel="canonical" sebagai strong signals, manakala Sitemap inclusion lebih lemah. Internal links, HTTPS, content similarity dan hreflang cluster juga mempengaruhi selection. Signal yang selari menguatkan preference; conflict menjadikan outcome kurang predictable.

Self-referential Canonical ialah default berguna untuk preferred indexable pages. Namun ia tidak membaiki thin content, inaccessible page atau routing conflict.

SignalPerananProduction rule
Permanent redirectStrong move dan consolidation signalSource terus ke final relevant target
HTML/HTTP CanonicalStrong preference untuk equivalent contentSatu absolute, fetchable target
Sitemap inclusionWeaker preferred-inventory signalFinal Canonical 200 URLs sahaja
Internal linksRepeated discovery dan preferenceLink terus ke preferred URL
HTTPS dan stable hostProtocol/host consistencyElak HTTPS-to-HTTP hop
hreflangLocale relationshipSetiap locale Canonical dalam bahasa sendiri

Canonical target mesti lulus equivalence gate

Sebelum URL A menunjuk Canonical ke URL B
  • Primary content dan purpose duplicate, sangat serupa atau B ialah useful superset.
  • B ialah landing page yang betul untuk search intent sama.
  • B public, fetchable dan memberi stable HTTP 200.
  • B indexable serta tidak disekat daripada crawler.
  • B tidak redirect atau Canonical ke URL ketiga.
  • A dan B menggunakan bahasa yang betul.
  • Template, structured data dan visible identity selari dengan B.
  • Permanent redirect tidak lebih sesuai untuk user.

Implement rel=canonical tanpa ambiguity

Untuk HTML, letakkan satu Canonical link dalam <head> yang valid dan gunakan fully qualified URL. Untuk PDF atau non-HTML document, Link HTTP response header boleh digunakan. Pilih satu kaedah yang maintainable; HTML dan header serentak lebih mudah bercanggah.

Source HTML paling selamat untuk JavaScript application. Jika JavaScript perlu inject element, jangan tukar value asal kepada destination lain dan jangan cipta multiple Canonicals.

ImplementationKegunaanQA evidence
HTML Canonical linkNormal HTML pagesSatu absolute value dalam final head
HTTP Link headerPDF atau non-HTMLHeader pada actual 200 response
JavaScript injectionHanya jika source HTML tidak bolehRendered head ada satu stable value
Sitemap-only preferenceLarge inventory tanpa tag mappingUseful tetapi lebih lemah

Audit pattern yang menghasilkan duplicate URL

PatternTypical decisionSemak
HTTP/HTTPS dan www/non-wwwPermanent redirect ke satu HTTPS hostCertificate, hop, Canonical dan links
Trailing slash, case atau index.htmlNormalize secara konsistenFile dan directory behavior
UTM dan click IDCanonical ke clean equivalentParameter tidak ubah content
Sort dan view parametersCanonical jika materially equivalentUser value dan crawl growth
Filter dan facetsIndex hanya distinct demand-led combinationsInventory, empty state dan combinations
Print atau download equivalentCanonical/header jika sesuaiFormat-specific user need
Product variantsSeparate jika intent dan content distinctAvailability, price, ID dan demand
Copied category/article pathsSatu stable route atau consolidationNavigation, legacy link dan ownership

Penomboran halaman, filter dan internal search perlukan keputusan berasingan

Paginated page lazimnya memaparkan item berbeza daripada page satu. Canonical semua pagination ke page satu boleh menghapuskan useful discovery path. Beri self-Canonical kepada pagination yang mempunyai standalone purpose; kawal weak search, filter dan sort space pada generating system.

Internal search-result pages biasanya tidak patut menjadi search landing pages. Keluarkan daripada indexable navigation dan Sitemap, gunakan index control sesuai, dan ganti recurring demand dengan curated category URL.

URL typeDefaultException test
Penomboran halamanSelf-Canonical useful pagesDistinct item set dan crawl path?
Sort variantCanonical ke unsorted equivalentOrder ada separate search value?
Filter/facetExclude atau consolidate by patternCombination berguna, stocked dan unique?
Internal searchNoindex dan tiada dalam SitemapCurated category lebih sesuai?
Tracking parameterCanonical ke clean URLContent benar-benar sama?

Multilingual pages ialah alternate, bukan duplicate automatik

English, Malay dan Simplified Chinese yang diterjemah sepenuhnya patut menggunakan self-referential Canonical dalam locale sendiri dan reciprocal hreflang. Jangan Canonicalize semua translation ke English hanya kerana layout dan topic sama.

Jika hanya navigation diterjemah tetapi primary content tidak, Google boleh menganggap URL duplicate. Baiki content purpose dahulu. Ikuti panduan multilingual SEO.

Locale-cluster gate
  • Setiap locale mempunyai primary content yang benar-benar dilokalkan.
  • Setiap locale guna absolute self-Canonical.
  • Semua alternate memberi 200 dan indexable.
  • hreflang reciprocal dan menuju Canonical URLs.
  • Language, title, heading, schema dan navigation selari.
  • Redirect tidak memaksa bahasa berdasarkan andaian semata-mata.

Pilih HTTP redirect berdasarkan permanence dan method

StatusMaksudCari useRequest method
301Permanent new URITarget patut jadi CanonicalSesetengah client tukar POST ke GET
308Permanent new URITujuan Cari sama seperti 301Preserve method
302Temporary different URISource patut kekal preferredSesetengah client tukar POST ke GET
303Retrieve resource lain selepas actionTemporary classFollow-up guna GET/HEAD
307Temporary different URISource patut kekal preferredPreserve method

Utamakan server-side redirect

HTTP redirect memberi status dan Location sebelum rendering, jadi move jelas kepada user, crawler dan monitoring tools. Google mengesyorkan server-side redirect apabila boleh.

Instant meta refresh boleh dianggap permanent dan delayed refresh sebagai temporary, tetapi kedua-duanya perlukan page load. JavaScript redirect bergantung pada rendering dan hanya sesuai sebagai fallback.

MethodReliabilityRole
HTTP server/CDNTertinggiPrimary implementation
Instant meta/HTTP refreshLebih rendahFallback tanpa server control
Delayed refreshTemporaryRare user flow
JavaScript locationRendering-dependentLast fallback
Visual link sahajaBukan redirectNavigation support

Redirect map ialah migration contract

Mulakan dengan complete old inventory daripada Sitemap, CMS export, analytics landing pages, Search Console, backlink, log dan campaign URL. Setiap source perlu satu outcome, reason, owner dan validation state.

SEOWithJack menyimpan evidence ini dalam migration/redirect-map.csv. Map semasa preserve original articles, consolidate /what-is-seo/ ke beginner guide, pindahkan renamed pages ke exact replacement dan mengekalkan 410 yang disengajakan daripada menghantar URL tidak relevan ke homepage.

FieldTujuanAcceptance
Source URLExact old routeUnique dan complete
Target/statusDestination, 404 atau 410Tiada ambiguous blank
HTTP statusPermanent, temporary atau removedSelari dengan decision
RelationshipEquivalent, consolidated atau retiredSame user intent
Metadata actionPreserve, merge atau replaceTiada accidental loss
ValidationObserved hop dan final responseSource → one hop → final
Owner/noteAccountability dan exceptionBoleh direview selepas launch

Map berdasarkan intent, bukan perkataan sama

Old-page stateOutcome betulShortcut salah
Content sama di new URL301/308 ke exact pageLaman Utamapage redirect
Beberapa pages benar-benar digabungSemua ke consolidated resourceBiarkan thin duplicates
Discontinued product dengan successorRedirect jika successor memenuhi need samaNearest category tanpa intent
Expired campaign dengan evergreen equivalentRedirect jika expectation masih relevanSemua campaign redirect forever
Tiada content/replacement404/410 dengan useful navigationSoft 404 yang return 200
Legal/safety removalRequired response dan documented processCanonical sahaja

Elakkan chain, loop dan broad rule

Setiap known old URL patut terus ke final preferred URL. Google boleh ikut beberapa hop tetapi menyarankan direct destination; chain tambah latency dan sukar diselenggara. Loop gagal sepenuhnya.

Pattern rule hanya selamat selepas exception diselesaikan. Uji uppercase, encoded character, query string, trailing slash, file, locale prefix dan similar-looking URL daripada content berbeza.

Redirect-rule QA
  • Tiada source menjadi unintended intermediate target.
  • Target tidak redirect lagi kecuali benar-benar perlu.
  • Tiada unrelated content ke homepage atau generic service.
  • Query strings sengaja retained, transformed atau removed.
  • HTTP tidak melalui HTTPS lalu kembali ke HTTP.
  • Locale route kekal dalam bahasa sesuai.
  • Assets, verification files dan endpoints tidak tertangkap.
  • Custom 404 memberi real HTTP 404.

Selaraskan semua signal selepas permanent move

SurfaceUpdateSebab
CanonicalNew page self-reference final URLBuang old preference
Internal linksTerus ke final URLTidak bergantung pada redirect
XML SitemapFinal 200 Canonical URLs sahajaClean preferred inventory
hreflangNew reciprocal locale URLsValid alternate cluster
Schema/Open GraphFinal public identity URLEntity dan sharing consistency
Analytics, ads, profilesGanti old destinationAttribution dan speed
Controlled backlinksUpdate high-value referencesKurangkan redirect load

Sequence site move yang terkawal

Sebelum, semasa dan selepas launch
  1. Freeze scope dan tentukan sama ada URL benar-benar perlu berubah.
  2. Export old URL, response, Canonical, metadata, hreflang, Sitemap, traffic dan backlink.
  3. Crawl new environment dan lindungi staging dengan authentication.
  4. Map setiap old URL ke relevant target atau deliberate terminal response.
  5. Generate Canonical, hreflang, link, metadata dan Sitemap daripada route source yang sama.
  6. Test complete redirect map sebelum DNS atau routing change.
  7. Launch new pages dan server-side redirects bersama.
  8. Buang temporary noindex daripada intended public pages.
  9. Verify templates, locales, assets, forms, phone dan WhatsApp.
  10. Untuk domain/subdomain move, submit Change of Address selepas redirect live.
  11. Submit new Sitemap dan crawl full old inventory pada production.
  12. Monitor old/new properties, logs, indexing, performance dan conversion by cohort.
  13. Kekalkan redirect sekurang-kurangnya setahun dan lebih lama jika masih digunakan.

Gunakan Change of Address untuk move yang betul

MoveChange of Address?Masih perlu
Old domain ke new domainYa, selepas redirects liveVerify properties, map dan Sitemap
Subdomain ke domain/subdomain lainYa untuk setiap propertyVariants dan redirects
HTTP ke HTTPSTidakPermanent redirects dan Canonicals
www ke non-wwwTidakRedirect dan Canonical consistency
Path change dalam same siteTidakOne-to-one redirects dan Sitemap
Hosting/CDN change tanpa URL changeTidakDNS, availability dan crawl capacity

Diagnose Google memilih Canonical lain

Bandingkan tested URL, user-declared Canonical dan Google-selected Canonical dalam URL Inspection. Live test tidak menilai duplicate clustering, jadi gunakan indexed result, crawl date dan page evidence.

FindingLikely causeAction
Declared target tidak similarCanonical merentas intentSeparate atau consolidate dengan jujur
Target redirect/errorGenerated Canonical bukan final 200Baiki route source of truth
Internal links pilih URL lainArchitecture conflictUpdate links/navigation
Sitemap list duplicatesInventory conflictRegenerate clean Sitemap
Locale menunjuk EnglishCanonical/hreflang bercampurSelf-Canonical setiap locale
External domain dipilihMirroring, hack atau annotationAudit response, HTML, headers dan security
Fix baru belum dilihatBelum recrawl/reprocessSemak crawl date dan request sekali

Baca migration evidence mengikut URL cohort

EvidenceHealthyInvestigate
Old URL crawlGooglebot menerima permanent redirectOld host blocked/slow/down
New URL crawlFinal 200 discover dan render5xx, robots, noindex atau wrong Canonical
Page IndexingNew Canonicals naik; old redirects turunWrong clusters atau soft 404 grow
Cari performanceClicks/impressions transfer by groupValuable cohort hilang
Server logsOld requests satu hopLoops, chains atau high-volume 404
ConversionsLead actions dan attribution berfungsiTraffic pindah tetapi enquiry gagal

Kesilapan Canonical dan redirect

  • Menganggap rel=canonical sebagai directive dijamin.
  • Canonicalize page dengan intent atau primary content berbeza.
  • Semua retired URL ke homepage.
  • Temporary redirect untuk permanent migration tanpa sebab.
  • Canonical target redirect, error, blocked atau noindex.
  • Old URLs kekal dalam links, Sitemap, hreflang atau schema.
  • Multiple Canonicals bercanggah dalam HTML/header.
  • robots.txt, noindex atau Removals digunakan untuk canonicalization.
  • Translation Canonical ke satu bahasa.
  • Generic rule menangkap asset atau verification file.
  • Test homepage sahaja.
  • Buang redirect sebaik new URL muncul di Cari.

Soalan lazim

Adakah rel=canonical directive?

Tidak. Ia strong preference signal; Google boleh memilih URL lain apabila content, links, redirects atau Sitemap bercanggah.

Perlukah setiap indexable page ada self-Canonical?

Ia default yang robust jika URL absolute, stable, indexable dan dijana dengan betul.

Bolehkah Canonical ke domain lain?

Boleh jika content duplicate atau useful superset dan preference memang disengajakan. Audit dengan teliti.

Bolehkah Canonical URL mempunyai parameter?

Boleh hanya jika parameterized URL ialah preferred stable version. Tracking-only parameters biasanya menuju clean equivalent.

Adakah 301 dan 308 sama untuk SEO?

Kedua-duanya permanent signal untuk Google. Pada HTTP level, 308 preserve request method.

Adakah permanent redirect hilangkan PageRank?

Google menyatakan 301 dan permanent redirect lain tidak menyebabkan PageRank loss. Relevance dan implementation masih penting.

Patutkah removed page ke category?

Hanya jika category memenuhi need sama; jika tidak, return 404 atau 410.

Berapa redirect hops?

Design untuk satu hop walaupun crawler boleh mengikuti lebih daripada satu.

Berapa lama simpan redirects?

Google umumnya menyarankan sekurang-kurangnya satu tahun; simpan lebih lama jika links atau users masih bergantung.

Bila guna Change of Address?

Selepas redirects live untuk domain atau subdomain move, bukan same-domain path, HTTPS, www atau hosting-only move.

Rujukan rasmi

Perlukan langkah seterusnya?Berikan setiap old URL satu outcome yang boleh dipertahankan.

Kongsikan old inventory, new route plan dan Search Console properties. Jack boleh review equivalence, bina Redirect Map dan test Canonical, hreflang, Sitemap serta conversion sebelum launch.

Bincang URL migration di WhatsApp

Jack Lee

Jack Lee

Building Cari Visibility with SEO, GEO & Laman Web Dibantu AI melalui projek dan eksperimen praktikal.