Panduan Edge Redirects
cara implement 301/302 redirects di CDN/edge layer — Cloudflare Bulk Redirects dan Workers, Akamai, Fastly VCL, Vercel, Netlify, dan Lambda@Edge — mengapa tim melakukan ini, chain/loop risk ketika edge aturan stack pada origin redirects, correct kode status, dan cara test dengan curl -I dan DevTools. dari Patrick Stox.
Bahasa
1 sinyal bukti di halaman ini
- Alat aktif terkaitRedirect Map Builder
sebuah edge redirect adalah sebuah 301/302 (atau 307/308) executed di CDN layer — Cloudflare, Akamai, Fastly, Vercel, Netlify, atau Lambda@Edge — sebelum permintaan reaches Anda origin. Tim reach untuk them karena mereka ship di minutes dengan Tidak code deploy, pertahankan berfungsi ketika old origin adalah menjadi decommissioned mid-migration, berfungsi di seluruh multiple origins selama sebuah consolidation, dan restore redirect control pada locked-down platforms. untuk Google's redirect interpretation, sebuah edge-generated 301 dapat carry yang sama kode status dan Location header sebagai satu dari origin — tetapi itu bounded equivalence tidak extend untuk identical caching, security, latency, routing, propagation speed, atau logs, dan Tidak evidence menampilkan moving sebuah jika tidak-equivalent redirect untuk edge secara otomatis improves rankings atau anggaran crawling. status-code aturan jangan perubahan either — 301/308 untuk permanent, 302/307 untuk temporary. edge-spesifik trap adalah stacking: sebuah edge aturan mengalihkan sebuah→B sementara sebuah surviving origin aturan redirects B→C membuat sebuah invisible dua-layer chain (atau loop) neither admin dapat see dari mereka own dashboard, dan sebuah CDN security aturan dapat fire sebelum redirect phase dan eat redirect entirely — itu aturan order adalah vendor-, product-, dan configuration-spesifik, so verify Anda own deployed phase graph alih-alih assume ini. perbaiki adalah satu sumber kebenaran — replace old layer, jangan stack pada ini — dan verifying dengan nyata Mendapatkan/non-Mendapatkan permintaan, curl -I, DevTools, dan GSC pemeriksaan URL alih-alih trusting dashboard atau sebuah single HEAD probe.
TL;DR — sebuah edge redirect adalah sebuah wajar 301 atau 302 redirect, tetapi alih-alih living di Anda situs web’s code atau server config, ini lives pada Anda CDN — network (like Cloudflare) itu sits di front dari Anda situs. redirect fires di CDN sebelum permintaan ever reaches Anda nyata server, so Anda dapat ship ini di minutes dengan Tidak code deploy, dan ini mempertahankan berfungsi bahkan sementara Anda’re moving untuk sebuah baru server. untuk Google’s purposes, redirect itself berfungsi like apa pun lainnya server-side redirect — sama kode status, sama
Locationheader. itu tidak berarti semuanya tentang ini adalah identical untuk sebuah origin redirect (caching, security aturan, dan bagaimana fast ini reaches setiap pengunjung dapat semua differ), tetapi bagian Google membaca adalah yang sama. satu hal untuk watch: jangan leave sebuah old redirect berjalan pada Anda server dan tambahkan sebuah baru satu di edge untuk yang sama URL — Anda’ll accidentally chain them.
Apa sebuah edge redirect adalah
sebuah edge redirect adalah masih sebuah HTTP redirect; “edge” (terjemahan) “edge” mendeskripsikan di mana respons adalah generated. Evidence for this claim Primary standard or official documentation supporting the adjacent article claim. Scope: Protocol semantics and Search behavior are kept separate; no indexing, ranking, or migration-timing guarantee is inferred. Confidence: high · Verified: RFC 9110: Redirection Google evaluates dikembalikan redirect respons dan target alih-alih awarding sebuah special benefit untuk CDN execution. Evidence for this claim Primary standard or official documentation supporting the adjacent article claim. Scope: Protocol semantics and Search behavior are kept separate; no indexing, ranking, or migration-timing guarantee is inferred. Confidence: high · Verified: Google: Redirects and Search
sebagian besar situs web sit behind sebuah CDN (jaringan pengiriman konten) — sebuah global network dari server itu sits antara Anda nyata server ( “origin” (terjemahan) “origin”) dan di luar world, dan menyajikan Anda situs quickly dari sebuah location near setiap pengunjung. Cloudflare adalah best-known satu; Akamai, Fastly, Vercel, dan Netlify adalah others.
sebuah edge redirect puts Anda redirect pada itu CDN alih-alih pada Anda situs web. Ketika seseorang (atau Googlebot) permintaan sebuah old URL, CDN jawaban pertama — ini mengembalikan redirect straight dari edge dan mengirim pengunjung untuk baru URL, sebelum permintaan ever touches Anda nyata server.
Anda dapat siapkan sebuah wajar redirect di sebuah sedikit berbeda places:
- di Anda app atau CMS — sebuah WordPress redirect plugin, sebuah aturan di Anda kerangka kerja, atau
sebuah line di sebuah
.htaccessfile pada server. - di edge — sebuah aturan di Anda Cloudflare, Fastly, atau Vercel dashboard.
- di JavaScript — halaman memuat, lalu sebuah script mengirim browser di suatu tempat else. (itu’s sebuah berbeda animal dengan -nya own tradeoffs — see JavaScript redirects artikel untuk itu side.)
ini artikel adalah tentang middle satu: melakukan ini di edge.
Mengapa orang melakukan ini di edge
Three big alasan:
- ini adalah fast untuk ship. Tidak developer, Tidak deploy, Tidak rilis cycle — Anda tambahkan sebuah aturan di sebuah dashboard (atau upload sebuah spreadsheet dari them) dan ini adalah langsung di minutes.
- ini survives sebuah migration. jika Anda’re moving untuk sebuah baru situs dan shutting down old server, edge redirects pertahankan berfungsi karena mereka jangan bergantung pada itu old server menjadi alive.
- ini berfungsi ketika Anda dapat’t touch server. pada locked-down platforms (like beberapa ecommerce sistem) Anda dapat memiliki Tidak cara untuk tambahkan sebuah server-side redirect di semua — CDN adalah satu-satunya place Anda dapat.
melakukan Google care itu ini adalah di edge?
Tidak untuk bagian ini sebenarnya membaca. Google sees sebuah kode status (like 301) dan sebuah
Location header telling ini di mana untuk go — ini memiliki Tidak idea apakah itu came dari Anda
CDN atau Anda nyata server, so sebuah 301 adalah sebuah 301 either cara untuk redirect interpretation. So
sebuah edge redirect adalah sebuah proper server-side redirect sebagai far sebagai SEO adalah concerned.
itu equivalence adalah secara khusus tentang respons — kode status dan destination URL. ini tidak berarti sebuah edge redirect dan sebuah origin redirect adalah identical di setiap lainnya respect: caching perilaku, yang security aturan jalankan pertama, bagaimana fast perubahan reaches setiap pengunjung worldwide, dan apa menampilkan up di Anda logs dapat semua differ antara dua layers. dan moving sebuah jika tidak-identical redirect dari Anda origin untuk edge tidak sebuah peringkat booster pada -nya own — ada Tidak evidence ini improves rankings atau anggaran crawling oleh itself. Apa penting untuk SEO adalah itu redirect resolves correctly dan tetap itu cara, tidak yang layer disajikan ini.
satu beginner mistake untuk hindari
jangan stack redirects. jika Anda old server sudah redirects /old → /new, dan
lalu Anda juga tambahkan sebuah edge redirect untuk /old, Anda dapat end up dengan dua redirects di sebuah
baris (sebuah “chain” (terjemahan) “chain”) alih-alih satu bersih hop — atau, di worst case, sebuah loop di mana dua
pertahankan bouncing permintaan back dan forth. aturan dari thumb: ketika Anda move sebuah redirect
untuk edge, hapus old satu. Replace ini; jangan pile pada top dari ini.
ingin platform-oleh-platform versi, tepat kode status, bagaimana chain/loop trap sebenarnya happens, dan cara test sebuah redirect straight dari edge? Switch untuk Advanced tab.
TL;DR — sebuah edge redirect adalah sebuah 3xx disajikan di CDN layer sebelum permintaan reaches origin. untuk Google’s redirect interpretation, sebuah 301 dari Cloudflare dapat carry yang sama status dan
Locationsebagai satu dari Anda origin — itu bounded equivalence tidak extend untuk identical caching, security, latency, routing, atau logs, dan ini tidak sebuah peringkat booster pada -nya own. Tim move redirects untuk edge untuk rollout speed (Tidak deploy), migration resilience (berfungsi ketika old origin adalah hilang), multi-origin consolidations, dan locked-down platforms. Status-code aturan jangan perubahan di edge: 301/308 permanent, 302/307 temporary; 308/307 hanya penting untuk non-Mendapatkan permintaan, dan kueri/path/fragment preservation adalah sebuah product setting Anda memiliki untuk periksa, tidak sebuah universal default. edge-spesifik risk adalah stacking: sebuah edge aturan plus sebuah surviving origin aturan untuk yang sama URL membangun sebuah invisible chain — dan sebuah CDN security aturan dapat jalankan sebelum redirect phase dan eat redirect entirely (verify Anda own deployed phase order; ini adalah vendor- dan product-spesifik, tidak sebuah universal Cloudflare-wide aturan). Satu sumber kebenaran, replace tidak stack, dan verify dengan nyata Mendapatkan/non-Mendapatkan permintaan,curl -I, DevTools, dan GSC pemeriksaan URL — sebuah HEAD permintaan alone tidak conclusive.
Apa “di itu edge” (terjemahan) “pada lapisan edge CDN” sebenarnya berarti
CDN workers dapat generate redirects sebelum sebuah permintaan reaches origin, tetapi client menerima standard HTTP semantics. Evidence for this claim Primary standard or official documentation supporting the adjacent article claim. Scope: Protocol semantics and Search behavior are kept separate; no indexing, ranking, or migration-timing guarantee is inferred. Confidence: high · Verified: RFC 9110: Redirection Migration dan canonical outcomes tetap subject untuk Google’s redirect guidance. Evidence for this claim Primary standard or official documentation supporting the adjacent article claim. Scope: Protocol semantics and Search behavior are kept separate; no indexing, ranking, or migration-timing guarantee is inferred. Confidence: high · Verified: Google: Redirects and Search
setiap redirect adalah yang sama respons HTTP — sebuah 3xx kode status plus sebuah Location header.
Apa perubahan dengan sebuah edge redirect adalah di mana di permintaan path ini adalah generated. ini adalah
dikembalikan oleh CDN’s poin dari presence nearest pengunjung atau crawler, sebelum
permintaan adalah proxied untuk Anda origin. Three layers, di order dari siapa sees permintaan pertama:
- Edge / infrastructure layer — CDN (Cloudflare, Akamai, Fastly, Vercel, Netlify, Lambda@Edge). Sees permintaan pertama.
- Origin / application layer — Anda server config,
.htaccess, atau CMS/app code. hanya berjalan jika edge melewati permintaan melalui. - Client / rendering layer — sebuah JavaScript redirect itu fires setelah browser
memuat dan renders halaman. ini adalah padanan topic covered di
JavaScript redirects artikel — I tidak akan re-cover
window.location, meta refresh, atau render-queue timing di sini; pendek versi adalah itu sebuah edge redirect adalah seen di crawl time sebagai sebuah bersih HTTP hop, whereas sebuah JS redirect tidak terlihat until sebuah kemudian, uncertain rendering lulus.
untuk sebuah mesin pencari, hanya respons penting, tidak layer itu produced ini. Google’s guidance adalah untuk “Set up server-side redirects whenever possible.” (terjemahan) “Siapkan pengalihan sisi server jika memungkinkan.”* — dan sebuah edge redirect qualifies, karena Googlebot menerima sebuah HTTP 3xx regardless dari apakah ini came dari origin atau CDN.
menjadi precise tentang apa sebenarnya equivalent, though: untuk Google’s redirect
interpretation, sebuah edge-generated respons dapat supply yang sama relevant kode status dan
Location header sebagai sebuah origin-generated satu. itu’s sebuah bounded equivalence — ini covers
apa Google membaca untuk ikuti redirect, tidak caching, latency, security-aturan perilaku,
routing, observability, atau failure modes, yang dapat semua differ antara dua layers.
ini adalah juga tidak sebuah peringkat mechanism: Tidak reviewed evidence menampilkan itu moving sebuah jika tidak
identical redirect dari origin untuk edge secara otomatis improves rankings, PageRank
transfer, atau anggaran crawling pada -nya own. edge dapat reduce origin round-trip berfungsi, tetapi
ini tidak universally lebih cepat either — DNS, TLS negotiation, edge-function execution,
cache/match perilaku, dan apa pun extra hops di chain dapat dominate sebuah diberikan permintaan hanya
sebagai easily sebagai sebuah origin round trip akan.
Mengapa tim move redirects untuk edge
Four structured alasan, tidak hanya “ini lebih cepat” (terjemahan) “ini adalah lebih cepat”:
- Tidak deploy diperlukan. Anda ship sebuah aturan melalui sebuah dashboard atau sebuah bulk CSV upload, langsung di minutes — Tidak code rilis, Tidak dev queue. ini adalah yang sama “beat itu dev-backlog” (terjemahan) “beat dev-backlog” motivation itu drives edge SEO umumnya; edge SEO hub covers lebih luas governance dan platform-lock context.
- Migration resilience. Karena redirect resolves di CDN sebelum hitting origin, ini mempertahankan berfungsi bahkan setelah old origin server adalah fully decommissioned — sebagai panjang sebagai DNS/CDN routing untuk old domain masih alur melalui CDN. Bing membuat ini tepat architectural argument di -nya migration guidance: ini recommends standing up “a new separate minimal server or load balancer with the redirect rules” (terjemahan) “server minimal baru atau load balancer terpisah dengan aturan pengalihan”* pada sesuatu like Azure dan pointing old domain’s DNS di ini, “to handle all redirects of the old domain going forward without it impacting the server of the new hostname.” (terjemahan) “untuk menangani semua pengalihan dari domain lama ke depannya tanpa memengaruhi server hostname baru.”* itu’s edge-redirect pattern di semua tetapi name: pertahankan redirect-serving infrastructure terpisah dari (dan lebih ringan daripada) Anda production origin.
- Multi-origin consolidations. selama sebuah brand rollup atau platform migration Anda dapat menjadi mengalihkan di seluruh several berbeda origins di setelah. edge sits di atas semua dari them, so satu aturan set dapat span origins itu individually dapat’t redirect untuk setiap lainnya.
- Locked-down platforms. pada SaaS/enterprise platforms itu jangan expose server-side redirect config, CDN adalah sering hanya place Anda dapat implement sebuah redirect di semua. Cloudflare frames -nya own tooling persis ini cara — letting tim “implement URL redirects in the cloud without the need to have administrator access to the origin.” (terjemahan) “menerapkan pengalihan URL di cloud tanpa perlu memiliki akses administrator ke origin.”*
Fastly puts “mengapa edge” (terjemahan) “mengapa edge” case bluntly: “Ensuring URLs never die is one of the most important aspects of a good SEO strategy, and the edge is the best place for redirects, so that they can be served as fast as possible.” (terjemahan) “Memastikan URL tidak pernah mati adalah salah satu aspek terpenting strategi SEO yang baik, dan edge merupakan tempat terbaik untuk pengalihan agar dapat dilayani secepat mungkin.”* -nya own redirects tutorial menambahkan operational motivation — server sering tangani millions dari permintaan untuk old dan non-canonical URLs, yang degrades origin performa dan clutters logging jika Anda pertahankan itu di origin.
None dari ini perubahan redirect fundamentals (map 1:1, jangan bulk-redirect semuanya untuk homepage, pertahankan redirects langsung far lebih lama daripada sebuah tahun) — situs migrations artikel covers itu dan I’m treating them sebagai assumed background di sini.
Choosing right kode status di edge
status-code aturan adalah identical untuk redirects anywhere — edge tidak invent baru ones:
| Code | Meaning | metode dipertahankan? | gunakan untuk |
|---|---|---|---|
301 | Permanent | Tidak (dapat switch untuk Mendapatkan) | default untuk permanent halaman moves |
308 | Permanent | Ya | Permanent moves di mana POST/PUT metode harus survive |
302 | Temporary | Tidak (dapat switch untuk Mendapatkan) | Genuinely temporary redirects |
307 | Temporary | Ya | Temporary redirects preserving metode (forms/APIs) |
301-vs-308 dan 302-vs-307 split hanya penting untuk non-Mendapatkan permintaan — forms dan
API endpoints di mana HTTP metode dan body harus menjadi dipertahankan pada hop. untuk ordinary
halaman-untuk-halaman SEO redirects (semua Mendapatkan), 301 tetap conventional, SEO-safe default.
Google adalah jelas itu semua permanent metode land yang sama: semua permanent redirection
metode memiliki yang sama effect pada Google Search, though “itu time it takes untuk us untuk notice
itu berbeda redirect methods mungkin differ.” (terjemahan) “ time ini takes untuk us untuk notice
berbeda redirect metode dapat differ.”
Platform defaults differ, dan itu trips orang up. Cloudflare’s Bulk Redirects dan
Single Redirects lean toward 301/302; Vercel explicitly recommends 307/308 untuk hindari
metode-switching ambiguity itu 301/302 carry (-nya docs adalah dibangun sekitar API routes sebagai
banyak sebagai halaman); Fastly’s own redirect tutorial contoh defaults untuk 308. takeaway:
pick Anda code dari permanence dan metode-preservation perlu, tidak dari whatever
platform’s contoh happens untuk gunakan. untuk sebuah permanent konten move Anda hampir selalu ingin
301.
chain/loop risk unique untuk edge + origin stacking
ini adalah failure mode ini artikel ada untuk warn tentang, karena ini adalah spesifik untuk edge dan di bawah-dijelaskan di mana-mana else.
stacking pattern
dua dangerous layers — edge dan origin — adalah configured di berbeda sistem, oleh berbeda orang, dengan Tidak shared visibilitas. itu’s seluruh masalah. sebuah concrete sequence:
- Marketing menambahkan sebuah edge Bulk Redirect
A → Bselama sebuah rebrand. - Six months kemudian, engineering ships sebuah app-tingkat redirect
B → Cselama sebuah replatform — dan tidak pernah touches (atau tidak pernah sees) edge aturan. - Now sebuah permintaan untuk
Ahits edge (A → B), mendapatkan proxied untuk origin untukB(B → C), dan resolves sebagaiA → B → C: sebuah invisible dua-layer chain neither admin dapat fully see dari mereka own dashboard.
poin dua aturan di setiap lainnya alih-alih dan Anda mendapatkan sebuah loop — permintaan bounces forever. Google dapat mengikuti rantai sampai batas tertentu, tetapi panduannya tegas: hindari merangkai pengalihan. Meskipun Googlebot dapat mengikuti hingga 10 lompatan, arahkan langsung ke tujuan akhir. Batas 10 lompatan adalah limit teknis, bukan budget untuk dihabiskan — sebuah budget untuk spend — sebuah fast edge redirect itu’s bagian dari sebuah dua-layer chain adalah masih sebuah chain.
umum mechanics dari chains dan loops ( 10-hop limit, per-crawl perilaku, diagnosing them) langsung di rantai pengalihan dan redirect loops tulis-ups; I’m focused di sini pada edge-spesifik penyebab.
WAF-sebelum-redirect: Anda security aturan dapat eat redirect
ada sebuah kedua, sneakier edge trap. di Cloudflare’s saat ini terdokumentasi pipeline
(Cloudflare Ruleset mesin phases reference, diperiksa 2026-07-16), Bulk Redirects
secara khusus jalankan di http_request_redirect phase, yang executes setelah WAF
managed-aturan phase (http_request_firewall_managed). So jika sebuah security aturan — atau
bot-fight mode — blocks atau challenges permintaan pertama, Bulk Redirect tidak pernah fires
di semua. Googlebot dapat menjadi silently blocked sebelum Anda dengan hati-hati configured redirect
aturan ever berjalan. ini adalah redirect-spesifik versi dari “Anda CDN dapat accidentally
block Googlebot” (terjemahan) “Anda CDN dapat accidentally
block Googlebot” risk edge SEO hub documents untuk edge SEO broadly.
Treat itu ordering sebagai sebuah contoh, tidak sebuah universal law. Redirect, rewrite, WAF, origin, header-transform, dan cache phases adalah vendor-, product-, versi-, plan-, dan configuration-spesifik — Bulk Redirects order di atas tidak secara otomatis apply untuk Cloudflare’s Single Redirects atau Workers, dan ini says tidak ada apa pun tentang Akamai, Fastly, Vercel, Netlify, atau Lambda@Edge. periksa Anda own deployed phase graph atau aturan-trace alat untuk platform dan product Anda’re sebenarnya menggunakan alih-alih assuming ini tepat order carries di atas.
classic edge-spesifik loop: SSL mode vs. origin HTTPS redirect
single sebagian besar umum edge-spesifik loop di wild adalah sebuah TLS mismatch: sebuah CDN’s SSL/TLS setting (Cloudflare’s “Flexible” (terjemahan) “Flexible” mode adalah biasa culprit) conflicts dengan sebuah origin-tingkat HTTP→HTTPS redirect. edge talks HTTP untuk origin, origin redirects untuk HTTPS, edge re-permintaan, origin redirects again — forever. redirect loops tulis-up flags ini HTTPS/SSL-mode mismatch sebagai sebuah umum loop penyebab; ini adalah worth knowing ini oleh name karena ini adalah hampir selalu jawaban ketika sebuah “berfungsi” (terjemahan) “berfungsi” HTTPS redirect loops behind sebuah CDN.
perbaiki: satu sumber kebenaran, replace jangan stack
Maintain sebuah single sumber kebenaran untuk redirect aturan — ideally edge, since ini adalah
pertama layer untuk see permintaan — dan actively retire equivalent origin-tingkat
aturan alih-alih letting keduanya jalankan. jangan stack; replace. Ketika auditing sebuah existing situs,
compile setiap redirect dari setiap sumber (CMS, CDN, .htaccess/server config, Penelusuran
Console’s “Halaman dengan redirect” (terjemahan) “halaman dengan redirect” report, analytics) sebelum Anda tambahkan apa pun baru — miss satu
sumber dan Anda manufacture tepat chain Anda’re trying untuk hindari.
Platform-oleh-platform mechanics
pendek versi dari di mana setiap platform’s redirect tooling sits. ( edge SEO hub memiliki lebih luas Snippets-vs-Workers dan platform-kemampuan perbandingan; ini adalah redirect-spesifik slice.)
- Cloudflare. Bulk Redirects (CSV/list-based, account-tingkat, Tidak regex) untuk besar migration maps; Single Redirects / Redirect aturan (regex, wildcards, dynamic expressions) untuk per-aturan logic; Workers untuk apa pun needing sebuah KV-backed lookup table beyond Bulk Redirects’ scale, atau custom logic. Cloudflare’s own framing untuk mengapa category ada: pengalihan URL membantu pengunjung tetap mencapai konten yang benar; tanpa pengalihan, tautan di email, blog, dan brosur dapat gagal dimuat serta merugikan pendapatan bisnis dan citra merek.
- Akamai. Edge Redirector Cloudlet (sebuah Tidak-code UI untuk match/redirect aturan) untuk straightforward cases; EdgeWorkers (JavaScript) dengan EdgeKV untuk besar atau logic-driven redirect tables. Enterprise-oriented — typically lebih provisioning daripada Cloudflare’s self-sajikan dashboard.
- Fastly. Tidak Tidak-code redirect UI untuk sebagian besar setups — redirects adalah implemented di
VCL (sebuah
vcl_recv/vcl_errorpattern menggunakan sebuah synthetic respons denganobj.statusdanobj.http.Location) atau newer Compute platform. Developer-oriented; best fit untuk tim sudah berjalan custom VCL. - Vercel.
vercel.jsonconfig redirects untuk pattern/wildcard/geolocation aturan; sebuah dedicated Bulk Redirects fitur (CSV/JSON/JSONL) untuk besar lists; Edge Config + Middleware untuk redirects itu perlu untuk perbarui tanpa sebuah redeploy. Note 307/308 default recommendation di atas. - Netlify.
_redirectsfile ataunetlify.toml[[redirects]]blocks; mendukung 301/302, 200 (rewrite), dan 404; sebuah force flag (!) overrides file-shadowing; splats dan placeholders tangani pattern matching; edge-tingkat geo/language redirects adalah dibangun di. - Lambda@Edge (AWS/CloudFront). sebuah penuh Node.js runtime di edge — paling flexible option, tetapi highest latency dan cold-mulai overhead di sini. Best ketika redirect logic perlu lebih daripada pattern matching (custom business logic, external lookups) dan team adalah sudah CloudFront-native.
sebuah berguna mental sort: Tidak-code alat (Cloudflare Bulk/Redirect aturan, Netlify
_redirects, Vercel vercel.json) tangani sederhana 1:1 dan wildcard redirects dengan Tidak
code; compute options (Workers, EdgeWorkers, Compute, Lambda@Edge) adalah untuk
conditional redirects, besar dynamic lookups, atau geolocation branching itu Tidak-code
alat dapat’t express. Anda tidak perlu sebuah Worker untuk melakukan sebuah sederhana redirect.
Conditional redirects: cache keys, forwarded headers, dan open-redirect risk
Tidak setiap edge redirect adalah sebuah static 1:1 mapping. Setelah sebuah aturan branches pada geo, device, language, authentication state, sebuah cookie, atau sebuah forwarded header, sebuah sedikit edge-spesifik failure modes tampilkan up itu sebuah sederhana redirect tidak pernah hits:
- Decision inputs perlu matching field availability. sebuah aturan dapat hanya branch pada sebuah sinyal platform sebenarnya exposes di phase ini berjalan di. pada CloudFront, untuk contoh, viewer-permintaan logic berjalan sebelum cache lookup pada setiap matching permintaan, sementara origin-permintaan logic hanya berjalan ketika CloudFront forwards untuk origin setelah sebuah cache miss — so yang sama conditional logic sees berbeda fields, executes di sebuah berbeda frequency, dan memiliki berbeda cost dan observability depending pada yang phase Anda put ini di. Konfirmasi yang phase Anda platform’s conditional-redirect fitur sebenarnya berjalan di sebelum assuming sebuah field (geo, cookie, header) adalah tersedia.
- Cache-key alignment adalah tidak automatic. jika redirect destination bergantung pada geo, device, language, auth state, atau sebuah cookie, cache key memiliki untuk vary oleh itu sama inputs — jika tidak edge dapat sajikan satu pengunjung’s cohort-spesifik redirect untuk sebuah berbeda cohort, atau redirect function dapat tidak bahkan see input ini perlu untuk decide correctly. ini adalah single sebagian besar umum penyebab dari “it works for me but not for [other users]” (terjemahan) “ini berfungsi untuk me tetapi tidak untuk [lainnya pengguna]” bug reports pada conditional edge redirects.
- Credential dan privacy boundaries. jangan let sebuah authenticated atau cookie-scoped redirect respons mendapatkan cached dan disajikan untuk sebuah berbeda, unauthenticated pengunjung — pertahankan credential-dependent redirects out dari shared cache atau key them explicitly oleh credential/session dimension itu decided destination.
- bot dan locale consistency. sebuah conditional aturan itu redirects penelusuran crawler untuk sebuah berbeda destination daripada regular pengunjung berdasarkan geo/locale/bot detection dapat baca sebagai cloaking jika dua paths diverge di substance, tidak hanya presentation — pertahankan crawler dan pengunjung perilaku aligned unless Anda memiliki sebuah terdokumentasi, policy-compliant alasan untuk differ (see edge SEO hub’s cloaking guidance).
- Fallback perilaku. Define apa happens ketika deciding sinyal adalah missing atau ambiguous (Tidak geo match, Tidak cookie, unrecognized locale) — sebuah unhandled fallback dapat silently 404, redirect untuk wrong default, atau skip redirect entirely.
- Open-redirect guard. apa pun redirect itu carries sebuah destination dari pengguna input — sebuah
login redirect dengan sebuah
?return=parameter adalah classic case — perlu sebuah allowlist, safe URL parsing dan encoding, dan loop prevention. Copying sebuah untrusted destination parameter straight keLocationheader adalah sebuah open-redirect vulnerability, tidak hanya sebuah SEO risk. - pertama-match shadowing. sebuah terminating edge redirect dapat mencegah kemudian redirect, rewrite, atau origin logic dari ever berjalan. jika Anda memiliki overlapping atau duplicate conditional aturan, test precedence terhadap tepat permintaan shape (metode, headers, kueri) alih-alih assuming dashboard’s aturan order matches execution order.
Testing dan verifying edge redirects
jangan trust dashboard UI, dan jangan trust sebuah single HEAD permintaan either — verify respons edge sebenarnya mengembalikan untuk permintaan jenis itu penting.
- sebuah HEAD permintaan tidak conclusive.
curl -Idefaults untuk sebuah lightweight probe, tetapi metode, body, headers, cookies, cache state, geo, dan bot/security decisions dapat semua membuat sebuah nyata GET, POST, atau authenticated permintaan behave differently daripada sebuah HEAD sederhana. Trace permintaan jenis itu sebenarnya penting untuk URL — typically sebuah nyata Mendapatkan, plus apa pun non-Mendapatkan metode (form submits, API panggilan) jika redirect covers itu routes — tanpa letting client auto-ikuti, so Anda dapat baca pertama hop’s status danLocationdi isolation. curl -Iadalah masih fastest pertama periksa.curl -I https://example.com/old-urlmenampilkan mentah kode status danLocationheader straight dari edge, dengan Tidak browser cache atau JS interference. ikuti seluruh chain dengancurl -sILuntuk count hops, tetapi juga test kueri, path-suffix, dan fragment cases itu penting untuk URL: melakukan sebuah appended path suffix survive, melakukan kueri strings lulus melalui unchanged (empty, present, repeated, dan conflicting kueri cases dapat semua behave differently), dan remember fragments (#section) adalah tidak pernah dikirim untuk server di semua — sebuah redirect dapat’t pertahankan atau transform sebuah fragment ini tidak pernah menerima, so apa pun fragment pada destination memiliki untuk come dari configured output atau client-side perilaku.- browser DevTools → Network tab. Konfirmasi redirect fires dengan yang diharapkan status
di Status column dan right
Location. lalu periksa cache-related headers (cf-cache-statuspada Cloudflare,x-vercel-cachepada Vercel,x-nf-request-idpada Netlify,x-cachepada Fastly/CloudFront) untuk see apakah redirect itself adalah menjadi cached — sebuah cached redirect dapat delay sebuah perbaiki dari propagating. - GSC pemeriksaan URL adalah authoritative periksa pada apa Googlebot sebenarnya diterima, independent dari apa curl atau DevTools tampilkan dari Anda network location. jika curl says 301 tetapi GSC menampilkan hasil berbeda, gunakan hasil GSC sebagai acuan.
- Test dari multiple regions dan cohorts, dan periksa keduanya edge dan origin logs. Edge
aturan dapat propagate di berbeda speeds di seluruh sebuah CDN’s global network right setelah sebuah
perubahan — sebuah dashboard “success” (terjemahan) “success” state tidak prove setiap poin dari presence adalah serving
baru aturan namun, so jangan assume instant, universal propagation. Test dari lebih daripada
satu geographic poin dan, untuk conditional aturan, dari lebih daripada satu cohort (
geo/device/auth status aturan branches pada). Record respons status,
Location, cache/security headers, dan sebuah permintaan ID di mana platform menyediakan satu, dan periksa edge dan origin logs di mana tersedia — logs adalah sering satu-satunya place itu menampilkan apakah WAF atau sebuah security aturan intercepted sebuah permintaan sebelum redirect phase. - Roll out dengan sebuah canary dan sebuah tested rollback. untuk redirects itu memengaruhi bermakna traffic, ship untuk sebuah subset pertama dan konfirmasi respons matrix di atas sebelum sebuah penuh rollout. Test rollback path too, dan pastikan rolling back tidak silently restore sebuah conflicting old layer ( origin atau app-tingkat aturan Anda adalah replacing) — itu’s persis stacking failure ini artikel’s chain/loop bagian warns tentang, hanya triggered oleh sebuah incident respons alih-alih sebuah deploy.
umum myths
- “Google menangani edge dan application redirects differently.” (terjemahan) “Google menangani edge dan application redirects differently.” Tidak — Google sees sebuah
kode status dan sebuah
Locationheader dan memiliki Tidak visibilitas ke layer itu produced them. sama PageRank/sinyal treatment. - “Moving a redirect untuk itu edge memperbaiki a chain.” (terjemahan) “Moving sebuah redirect untuk edge memperbaiki sebuah chain.” hanya jika Anda juga hapus old origin aturan. menambahkan sebuah edge aturan pada top dari sebuah surviving origin aturan tidak replace apa pun — ini menambahkan sebuah hop.
- “Edge redirects adalah secara otomatis better untuk SEO karena mereka lebih cepat.” (terjemahan) “Edge redirects adalah secara otomatis better untuk SEO karena mereka’re lebih cepat.” Partly overstated. mereka cut origin muat dan dapat shave latency, tetapi avoiding chains dan menggunakan correct kode status penting far lebih untuk crawling daripada mentah speed. sebuah fast redirect di dalam sebuah dua-layer chain adalah masih sebuah chain.
- “CDN security features tidak dapat interfere dengan redirect rules.” (terjemahan) “CDN security fitur dapat’t interfere dengan redirect aturan.” mereka dapat — WAF phase berjalan sebelum redirect phase pada Cloudflare, so sebuah blocked/challenged permintaan tidak pernah reaches redirect.
- “Anda perlu a Worker/Compute script untuk any edge redirect.” (terjemahan) “Anda perlu sebuah Worker/Compute script untuk apa pun edge redirect.” Tidak — untuk sederhana 1:1 dan wildcard redirects Tidak-code alat adalah cukup; compute adalah untuk custom logic.
jika Anda’re looking untuk client-side padanan — window.location, meta refresh, dan
render-queue timing itu membuat JS redirects riskier untuk SEO — itu’s JavaScript
redirects topic, tidak ini satu.
AI summary
sebuah condensed take pada Advanced versi:
- sebuah edge redirect adalah sebuah 3xx disajikan di CDN layer (Cloudflare, Akamai, Fastly,
Vercel, Netlify, Lambda@Edge) sebelum permintaan reaches origin. untuk Google’s
redirect interpretation, sebuah edge 301 dapat carry yang sama status dan
Locationsebagai sebuah origin 301 — sebuah bounded equivalence itu covers apa Google membaca, tidak identical caching, security, latency, routing, propagation speed, atau logs, dan ini tidak sebuah peringkat booster pada -nya own. - Mengapa tim melakukan ini: ships di minutes dengan Tidak deploy; survives sebuah migration ketika old origin adalah menjadi decommissioned (sebagai panjang sebagai DNS/CDN routing untuk old domain mempertahankan berfungsi); spans multiple origins selama sebuah consolidation; dan berfungsi pada locked-down platforms di mana server-side config tidak exposed. Bing juga menyarankan “a new separate minimal server or load balancer with the redirect rules” (terjemahan) “server minimal baru atau load balancer terpisah dengan aturan pengalihan”* pada Azure dan menyarankan “to handle all redirects of the old domain going forward without it impacting the server of the new hostname.” (terjemahan) “untuk menangani semua pengalihan dari domain lama ke depannya tanpa memengaruhi server hostname baru.”*
- kode status jangan perubahan di edge: 301/308 permanent, 302/307 temporary; 308/307 variants hanya penting untuk non-GET (forms/APIs). Platform defaults differ (Cloudflare 301/302, Vercel 307/308, Fastly 308) — choose oleh permanence + metode perlu, tidak platform default. kueri-string, path-suffix, dan fragment preservation adalah jelas product settings, tidak universal defaults — test empty/present/repeated/ conflicting kueri cases dan remember fragments adalah tidak pernah dikirim untuk server di semua.
- ** edge-spesifik risk adalah stacking:** sebuah edge aturan
A→Bplus sebuah surviving origin aturanB→C= sebuah invisible dua-layer chain neither admin sees dari mereka own dashboard; poin them di setiap lainnya dan ini adalah sebuah loop. Google mengikuti up untuk 10 hops tetapi says hindari chaining entirely. - CDN security dapat eat redirect: di Cloudflare’s saat ini terdokumentasi pipeline, Bulk Redirects secara khusus jalankan setelah WAF managed-aturan phase, so sebuah blocked atau challenged permintaan tidak pernah reaches itu redirect aturan — tetapi phase order adalah vendor-, product-, dan configuration-spesifik, so verify Anda own deployed phase graph rather daripada assume yang sama order elsewhere.
- Classic edge loop: CDN SSL “Flexible” (terjemahan) “Flexible” mode conflicting dengan sebuah origin HTTP→HTTPS redirect.
- Conditional redirects (geo/device/auth/cookie-based) perlu cache keys itu vary oleh
yang sama inputs aturan decides pada, sebuah didefinisikan fallback ketika sinyal adalah missing,
dan sebuah open-redirect guard — tidak pernah copy sebuah untrusted destination parameter straight
ke
Location. - Verify dengan lebih daripada sebuah HEAD permintaan: trace nyata Mendapatkan dan relevant non-Mendapatkan
permintaan,
curl -I/curl -sIL, DevTools cache headers, dan GSC pemeriksaan URL — tidak hanya dashboard. Test dari multiple regions/cohorts, since propagation tidak instant atau universal, dan canary + test rollback sebelum tinggi-traffic perubahan. - Perbaiki untuk stacking: satu sumber kebenaran, replace old layer (jangan stack).
Dokumentasi resmi
Utama-sumber documentation dari mesin pencari dan CDN platforms.
- Redirects dan Google Search — preference untuk server-side redirects dan bagaimana permanent metode adalah treated.
- situs moves dan migrations dengan URL perubahan — redirect-chain guidance dan 10-hop limit.
- crawling December: CDNs dan crawling (2024) — mengapa Google memperlakukan CDN-fronted situs differently, dan bagaimana sebuah CDN’s own security layer dapat block sebuah crawler sebelum Anda aturan jalankan.
Bing / Microsoft
- situs web Migration dengan Bing (Dec 2020) — “separate minimal server/load balancer for redirects” (terjemahan) “terpisah minimal server/muat balancer untuk redirects” pattern dan redirect-duration guidance.
CDN / platform docs (implementation reference, tidak penelusuran-mesin authority)
- Cloudflare — Bulk Redirects — CSV/list-based bulk redirect alat.
- Cloudflare — Ruleset mesin phases list — mengonfirmasi
http_request_redirectberjalan setelahhttp_request_firewall_managed(WAF managed aturan). - Fastly — Redirects tutorial — VCL synthetic-respons pattern dan origin-muat rationale.
- Vercel — Redirects —
vercel.jsonredirects, status-code guidance, dan 307/308 recommendation. - Netlify — Redirect options — sintaks
_redirects/netlify.toml, kode status, force flag, dan splats.
Quotes dari sumber
pada—record statements. setiap tautan adalah sebuah deep tautan itu jumps untuk quoted passage pada sumber halaman.
Google — server-side redirects dan chains
- “All permanent redirection methods (
HTTP 301,HTTP 308) have the same effect on Google Search, but the time it takes for us to notice the different redirect methods may differ.” (terjemahan) “Semua metode pengalihan permanen (HTTP 301,HTTP 308) memiliki efek yang sama di Google Search, tetapi waktu yang dibutuhkan untuk mengenali metode pengalihan yang berbeda dapat berbeda.”* — Google Search Central, Redirects dan Google Search. (yang sama halaman recommends: “Set up server-side redirects whenever possible.” (terjemahan) “siapkan server-side redirects setiap kali mungkin.”) Jump untuk quote - “a server side redirect has the highest chance of being interpreted correctly by Google.” (terjemahan) “sebuah server side redirect memiliki highest chance dari menjadi interpreted correctly oleh Google.” — Google Search Central, Redirects dan Google Search. Jump untuk quote
- “Avoid chaining redirects. While Googlebot can follow up to 10 hops in a ‘chain’ of multiple redirects (for example, Page 1 > Page 2 > Page 3), we advise redirecting to the final destination directly.” (terjemahan) “Hindari merangkai pengalihan. Walau Googlebot dapat mengikuti hingga 10 lompatan dalam sebuah ‘rantai’ beberapa pengalihan, kami menyarankan pengalihan langsung ke tujuan akhir.”* — Google Search Central, situs moves dan migrations dengan URL perubahan. Jump untuk quote
Bing — melakukan redirects pada terpisah/edge-berdekatan infrastructure
- “To improve server resources for example.ai, a new separate minimal server or load balancer with the redirect rules can be set up and configured, e.g. on Azure, and point the DNS of www.example.com to this instance to handle all redirects of the old domain going forward without it impacting the server of the new hostname.” (terjemahan) “Untuk menghemat sumber daya server example.ai, siapkan dan konfigurasikan server minimal atau load balancer terpisah dengan aturan pengalihan—misalnya di Azure—lalu arahkan DNS www.example.com ke instans ini agar menangani semua pengalihan dari domain lama tanpa memengaruhi server hostname baru.”* — Bing Webmaster Blog, situs web Migration dengan Bing. Jump untuk quote
- “the redirects on the old domain need to remain live for at least 1 to 2 years, preferably longer.” (terjemahan) “ redirects pada old domain perlu untuk tetap langsung untuk setidaknya 1 untuk 2 tahun, preferably lebih lama.” — Bing Webmaster Blog, situs web Migration dengan Bing. Jump untuk quote
- “Crawling the new website thereafter will reveal any unexpected errors, such as unnecessary redirect chains or error pages.” (terjemahan) “crawling baru situs web thereafter akan reveal apa pun unexpected errors, such sebagai unnecessary rantai pengalihan atau halaman error.” — Bing Webmaster Blog, situs web Migration dengan Bing. Jump untuk quote
Fastly — mengapa edge adalah right place untuk redirects
- “Ensuring URLs never die adalah satu dari itu paling important aspects dari a good SEO strategy, dan itu edge adalah itu best place untuk redirects, so itu they dapat menjadi served sebagai fast sebagai possible.” (terjemahan) “Ensuring URLs tidak pernah die adalah satu dari paling penting aspects dari sebuah baik SEO strategy, dan edge adalah best place untuk redirects, so itu mereka dapat menjadi disajikan sebagai fast sebagai mungkin.” — Fastly, 3 cara edge simplifies SEO. Sumber
Cloudflare — mengapa edge redirect tooling ada
- “URL redirects ensure visitors continue to see the correct content. Without these URL redirects, hyperlinks in emails, blogs, marketing brochures, etc. would fail to load, potentially costing the business revenue in lost sales and brand damage.” (terjemahan) “Pengalihan URL memastikan pengunjung terus mencapai konten yang benar. Tanpa pengalihan ini, hyperlink di email, blog, brosur pemasaran, dan sebagainya dapat gagal dimuat sehingga merugikan pendapatan serta citra bisnis.”* — Cloudflare Blog, Maximum redirects, minimum effort: Announcing Bulk Redirects. Cloudflare positions fitur sebagai letting tim “implement URL redirects in the cloud without the need to have administrator access to the origin.” (terjemahan) “menerapkan pengalihan URL di cloud tanpa perlu memiliki akses administrator ke origin.”* Sumber
seharusnya Anda melakukan ini redirect di edge?
Where should this redirect live — edge, origin/app, or JavaScript?
Whatever Anda pick, non-negotiable adalah satu sumber kebenaran per URL: jika edge adalah menangani redirect, hapus equivalent origin aturan so Anda tidak bangun chain atau sebuah loop.
Edge-redirect deployment checklist
sebelum dan setelah Anda ship sebuah edge redirect:
- Confirmed Tidak existing origin/app/
.htaccessaturan sudah redirects ini URL — atau retired ini so Anda’re tidak stacking dua layers. - diperiksa Search Console’s “Halaman dengan redirect” (terjemahan) “halaman dengan redirect” report dan apa pun CMS/CDN redirect exports untuk yang sama URL (compile setiap sumber sebelum menambahkan).
- Chose correct kode status dari permanence + metode perlu:
301(permanent Mendapatkan),308(permanent non-Mendapatkan),302/307(temporary) — tidak platform default out dari habit. - Confirmed redirect poin straight untuk akhir destination, tidak untuk lainnya URL itu itself redirects (Tidak chain).
- Verified CDN’s WAF / bot-fight aturan tidak blocking atau challenging permintaan sebelum redirect phase berjalan (Googlebot harus reach redirect).
- untuk HTTPS redirects: diperiksa CDN SSL/TLS mode tidak “Flexible” (terjemahan) “Flexible” terhadap sebuah origin HTTP→HTTPS redirect ( classic edge loop).
- Tested dengan
curl -I(dancurl -sILuntuk count hops) dari command line — tidak sebagai satu-satunya periksa: juga traced sebuah nyata Mendapatkan, dan apa pun non-Mendapatkan metode URL sebenarnya menyajikan, since sebuah HEAD probe alone tidak conclusive. - diperiksa kueri-string dan path-suffix perilaku (empty, present, repeated, dan
conflicting kueri cases) dan confirmed akhir
Location, tidak hanya pertama hop. - untuk conditional aturan (geo/device/auth/cookie-based): confirmed cache key
varies oleh yang sama inputs aturan decides pada, dan itu Tidak untrusted destination
parameter adalah copied straight ke
Location. - diperiksa Network tab untuk status,
Location, dan cache-status headers. - Confirmed dengan GSC pemeriksaan URL apa Googlebot sebenarnya diterima.
- Tested dari lebih daripada satu region/PoP dan, untuk conditional aturan, lebih daripada satu cohort — jangan assume perubahan adalah langsung di mana-mana hanya karena dashboard menampilkan success.
- untuk tinggi-traffic redirects: rolled out melalui canary pertama, dan tested itu rollback tidak silently restore sebuah conflicting old origin/app-tingkat aturan.
- Terdokumentasi aturan di Anda single sumber kebenaran so berikutnya person tidak tambahkan sebuah conflicting satu.
Edge redirect cheat sheet
kode status
| Code | Permanent? | metode dipertahankan? | Typical gunakan |
|---|---|---|---|
301 | Ya | Tidak | Default permanent halaman move |
308 | Ya | Ya | Permanent move preserving POST/PUT |
302 | Tidak | Tidak | Genuinely temporary |
307 | Tidak | Ya | Temporary preserving metode (forms/APIs) |
Platform → redirect tooling
| Platform | Tidak-code option | Bulk / CSV | Compute option |
|---|---|---|---|
| Cloudflare | Redirect aturan, Bulk Redirects | Ya (Bulk Redirects) | Workers + KV |
| Akamai | Edge Redirector Cloudlet | Melalui UI/aturan | EdgeWorkers + EdgeKV |
| Fastly | — (VCL) | Melalui VCL tables | Compute |
| Vercel | vercel.json | Ya (Bulk Redirects) | Edge Config + Middleware |
| Netlify | _redirects / netlify.toml | File-based | Edge Functions |
| Lambda@Edge | — | — | Node.js di CloudFront |
Platform default kode status (jangan inherit blindly)
- Cloudflare: 301/302 · Vercel: recommends 307/308 · Fastly tutorial: 308
Cache-status headers untuk periksa di DevTools
- Cloudflare
cf-cache-status· Vercelx-vercel-cache· Netlifyx-nf-request-id· Fastly/CloudFrontx-cache
** three verification alat**
curl -I(mentah status +Location, Tidak cache) → DevTools Network (cache headers) → GSC pemeriksaan URL (apa Googlebot saw).
** satu aturan**
- Satu sumber kebenaran per URL. Replace old layer; tidak pernah stack pada ini.
Verify sebuah edge redirect dari command line
curl -I adalah fastest cara untuk see mentah kode status dan Location header straight
dari edge — Tidak browser cache, Tidak JavaScript.
macOS / Linux
# Single request: status line + headers only
curl -I https://example.com/old-url
# → HTTP/2 301
# → location: https://example.com/new-url
# → cf-cache-status: DYNAMIC (Cloudflare cache header, platform-specific)
# Follow the WHOLE chain and count hops — you want ONE hop, not three
curl -sIL https://example.com/old-url | grep -Ei "^HTTP|^location"
# Pretend to be Googlebot to check for bot-specific blocking at the edge (WAF/bot-fight)
curl -I -A "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" \
https://example.com/old-urlWindows (PowerShell)
# -MaximumRedirection 0 stops it from silently following the redirect,
# so you see the 3xx and the Location header instead of the final 200
$r = Invoke-WebRequest -Method Head -MaximumRedirection 0 `
-Uri "https://example.com/old-url" -SkipHttpErrorCheck
$r.StatusCode
$r.Headers["Location"]browser DevTools console — quick redirect periksa
Paste di console (DevTools → Console). fetch dengan redirect: "manual" mengembalikan sebuah
opaque respons tetapi sebuah non-diikuti status, so ini adalah sebuah fast “adalah di sana a redirect di sini?” (terjemahan) “adalah di sana sebuah redirect di sini?” probe;
Network tab adalah masih di mana Anda baca tepat status dan cache headers.
// Does this URL redirect at the edge, and does the fetch get blocked first?
fetch("https://example.com/old-url", { method: "HEAD", redirect: "manual" })
.then(r => console.log("type:", r.type, "status:", r.status || "(opaque redirect)"))
.catch(e => console.log("blocked or network error:", e.message));Bookmarklet — inspect saat ini halaman’s redirect trail
Save sebagai sebuah bookmark; click ini pada apa pun halaman untuk log rantai pengalihan browser diikuti untuk mendapatkan di sana (setiap entry adalah satu hop — lebih daripada satu berarti sebuah chain untuk flatten).
javascript:(function(){performance.getEntriesByType("navigation").forEach(function(n){console.log("redirects:",n.redirectCount,"| redirect time(ms):",Math.round(n.redirectEnd-n.redirectStart),"| final URL:",location.href);});})();sebuah redirectCount di atas 1 pada sebuah halaman Anda thought memiliki sebuah single bersih redirect adalah Anda sinyal
itu sebuah edge aturan dan sebuah origin aturan adalah stacking.
alat untuk membangun dan memeriksa edge redirects
- Redirect Map Builder — tinjau peta, pertahankan keputusan
unmatched/410 secara jelas, lalu ekspor file Netlify
_redirectsyang siap diterapkan atau JavaScript Cloudflare Worker mandiri. Alat ini juga mengekspor CSV impor WordPress Redirection, serta CSV bukti tinjauan manusia terpisah ketika plugin CMS, bukan edge, yang mengelola rute tulis. curl— pemeriksaan CLI untuk kode status,Location, dan jumlah lompatan (curl -I,curl -sIL). Tidak ada pemeriksaan lain yang lebih cepat atau lebih tepercaya.- browser DevTools → Network tab — see setiap hop’s status,
Location, dan platform cache-status header (cf-cache-status,x-vercel-cache, dan seterusnya.) untuk tell apakah sebuah redirect adalah menjadi cached. - Google Search Console — pemeriksaan URL — authoritative view dari apa Googlebot sebenarnya diterima dari Anda edge, independent dari Anda own network location.
- Cloudflare dashboard — Bulk Redirects (CSV upload), Redirect aturan, dan aturan → Trace alat untuk see yang phase acts pada sebuah permintaan (confirming WAF tidak eating redirect).
- Screaming Frog SEO Spider / Ahrefs situs Audit — crawl situs untuk surface redirect chains dan loops di seluruh URL set, including ones dibuat oleh edge+origin stacking.
- httpstatus.io / redirect-checker alat — quick multi-hop redirect-chain visualizers untuk spot memeriksa dan sharing dengan non-teknis stakeholders.
- ** platform config files themselves** —
vercel.json(Vercel),_redirects/netlify.toml(Netlify), VCL (Fastly) — pertahankan ini di versi control sebagai Anda single sumber kebenaran.
Playbook: sebuah edge rantai pengalihan, loops, atau tidak pernah fires
- Capture publik perilaku sebelum editing. Jalankan
curl -Itanpa berikut dancurl -sILuntuk trail; repeat dengan verified crawler pengguna agent dan, jika relevant, lainnya region. jika pertama respons adalah sebuah challenge atau block alih-alih sebuah 3xx, go untuk langkah 2; jika ini redirects dan lalu fails, go untuk langkah 3. - periksa phases sebelum redirect logic. Inspect WAF, bot-management, dan security events untuk permintaan. jika sebuah aturan blocks/challenges sebelum redirect phase, correct narrowly scoped security condition dan re-test; melakukan tidak rewrite redirect aturan untuk compensate untuk sebuah permintaan itu tidak pernah reaches ini.
- Compile setiap aturan layer untuk failing URLs. Export CDN/edge redirects, origin/server aturan, CMS/application aturan, dan relevant platform configuration. Trace tepat sebuah→B→C path. jika dua layers own yang sama sumber atau destination cohort, choose yang dimaksud sumber kebenaran sebelum mengubah either.
- periksa TLS mode ketika loop adalah HTTP/HTTPS. Bandingkan CDN-untuk-origin SSL mode dengan origin’s HTTPS redirect. jika edge contacts origin di atas HTTP sementara origin forces HTTPS, correct encryption mode atau hapus conflicting layer, lalu test again.
- Flatten untuk akhir destination. Replace sebuah→B→C dengan sebuah→C dan retire superseded origin/app aturan alih-alih stacking lainnya edge aturan. pertahankan yang dimaksud permanence dan metode perilaku.
- Purge hanya affected cached redirect state. jika corrected config adalah langsung tetapi sebuah old 3xx persists, invalidate relevant edge cache/key menurut platform’s proses. jika uncached permintaan adalah masih wrong, kembalikan untuk aturan inventory alih-alih menunggu.
- Verify semua permintaan classes dan document kepemilikan. Konfirmasi satu yang diharapkan hop, correct
Location, Tidak challenge, correct destination respons, dan yang sama yang dimaksud perilaku di Google Search Console pemeriksaan URL. Record surviving aturan di single sumber kebenaran.
Edge redirect mistakes itu survive sebuah dashboard review
tambahkan sebuah edge aturan pada top dari sebuah origin aturan
Moving sebuah redirect untuk edge memperbaiki sebuah chain hanya ketika old layer adalah retired. Jika tidak ini menambahkan sebuah hop atau membuat sebuah loop. Compile setiap layer dan replace kepemilikan; melakukan tidak stack ini.
Treat edge speed sebagai SEO win
Lebih rendah origin latency adalah berguna, tetapi sebuah fast redirect dengan wrong status, sebuah generic destination, atau multiple hops adalah masih rusak. mengoptimalkan correctness dan direct mapping sebelum milliseconds.
Assume security aturan cannot intercept redirects
pada platforms di mana WAF/bot phases execute pertama, sebuah block atau challenge mencegah redirect dari firing. Test crawler permintaan classes dan inspect phase/security events, tidak hanya redirect dashboard.
Inherit platform’s contoh kode status
Vendors demonstrate berbeda defaults. Choose 301/308 untuk permanent moves dan 302/307 untuk temporary ones berdasarkan metode-preservation perlu, tidak copied sample code.
Redirect missing URLs untuk homepage
sebuah broad homepage dump destroys relevance dan dapat menjadi treated sebagai sebuah soft 404. Map untuk closest legitimate replacement atau mengembalikan nyata tidak-ditemukan respons ketika Tidak equivalent ada.
gunakan compute untuk setiap sederhana aturan
Workers dan edge functions tambahkan code, deployment, cache, dan debugging surface. gunakan platform’s declarative/bulk redirect alat untuk straightforward satu-untuk-satu dan wildcard mappings; reserve compute untuk nyata conditional logic atau dynamic lookups.
Audit sebuah compiled redirect inventory
Audit this combined redirect inventory from CDN/edge, origin/server, CMS/application,
and framework config. Normalize source and destination URLs, then report:
1. Multiple layers claiming the same source
2. Chains with the complete hop path
3. Loops and the rules that close them
4. HTTP/HTTPS behavior that can conflict with CDN-to-origin TLS mode
5. Permanent versus temporary status mismatches
6. Redirects to homepages, generic categories, errors, or another redirect
7. Sources with no unique final destination
8. A proposed single-source-of-truth map pointing directly to final destinations
Preserve query/path behavior only when the supplied requirements say to. Do not invent
replacement URLs. Put unmapped sources in manual review instead of sending them to the
homepage.
Inventories and platform execution order:
[PASTE CSV/CONFIG]Review satu edge redirect incident
Trace this curl -I / curl -sIL output together with the CDN rule, origin rule, WAF event,
cache headers, and SSL mode. Identify the first layer that changes or blocks the request,
the minimal correction, what rule must be retired, and the exact commands/requests to
prove a clean single hop afterward. Separate confirmed evidence from assumptions.
Incident evidence:
[PASTE OUTPUT] Resources worth Anda time
My related writing
- Redirects untuk SEO: sebuah Menyelesaikan Guide — redirect jenis, kode status, dan ketika untuk gunakan setiap ( fundamentals ini artikel assumes).
- 301 vs. 302 Redirects: Yang seharusnya Anda gunakan? — permanent-vs-temporary decision.
- adalah Permanent Redirects Permanent? — bagaimana panjang 301s sebenarnya stick, dan apa itu berarti untuk retiring old aturan.
- Beginner’s Guide untuk SEO teknis — di mana redirects sit di bigger teknis picture.
My speaking
- Bagaimana Penelusuran berfungsi (SlideShare) — my walkthrough dari crawling, rendering, pengindeksan, dan serving, yang adalah pipeline sebuah edge redirect intercepts. (Standing disclaimer applies: “Ini adalah my understanding dari sistem… tidak going untuk menjadi 100% menyelesaikan atau accurate.” (terjemahan) “ini adalah my understanding dari sistem… tidak going untuk menjadi 100% menyelesaikan atau accurate.”)
dari sekitar industry
- Cloudflare — Bulk Redirects docs — authoritative implementation reference untuk besar redirect maps pada Cloudflare.
- Cloudflare — Ruleset mesin phases list — proof itu WAF managed aturan jalankan sebelum redirect phase ( “security rule eats itu redirect” (terjemahan) “security aturan eats redirect” trap).
- Cloudflare Blog — Maximum redirects, minimum effort: Announcing Bulk Redirects — mengapa bulk-redirect category ada dan “Tidak admin access untuk origin” (terjemahan) “Tidak admin access untuk origin” motivation.
- Fastly — Redirects tutorial — VCL synthetic-respons pattern dan origin-muat argument untuk moving redirects untuk edge.
- Vercel — Redirects docs —
vercel.jsonredirects, kode status, dan 307/308 recommendation. - Netlify — Redirect options —
_redirects/netlify.tomlsyntax, kode status, force flag, dan splats. - Oncrawl — membuat & Managing Redirects pada Edge — closest existing tulis-up framing redirects-pada—edge sebagai -nya own topic.
Uji pemahaman Anda: Edge Redirects
Five quick pertanyaan pada implementing dan verifying redirects di CDN layer. Pick sebuah jawaban untuk setiap, lalu periksa.
Log perubahan
Diperbarui 8 Agu 2026.
Ringkasan editorial dan detail perubahan yang tercatat.Detail perubahan
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
Perbandingan lengkap tidak tersedia — tidak ada cuplikan sebelumnya yang diarsipkan untuk revisi ini.
Diperbarui 17 Jul 2026.
Ringkasan editorial dan detail perubahan yang tercatat.Detail perubahan
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
Perbandingan lengkap tidak tersedia — tidak ada cuplikan sebelumnya yang diarsipkan untuk revisi ini.
Diperbarui 17 Jul 2026.
Ringkasan editorial dan detail perubahan yang tercatat.Detail perubahan
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
Perbandingan lengkap tidak tersedia — tidak ada cuplikan sebelumnya yang diarsipkan untuk revisi ini.