SEO teknis

sebuah complete guide untuk SEO teknis — sebuah plain-language Beginner's Guide dan sebuah sistem-tingkat Advanced Guide untuk crawling, rendering, pengindeksan, dan peringkat.

Pertama kali diterbitkan: 25 Jun 2026 · Terakhir diperbarui: 3 Agu 2026 · Advanced
Bahasa

Two guides di one. Beginner's Guide menjelaskan SEO teknis dari scratch — crawl → indeks → peringkat pipeline, handful dari foundations setiap situs perlu, cara periksa Anda own situs, dan which myths untuk ignore. Advanced Guide goes sistem-deep: anggaran crawling, rendering decision, canonicalization's ~40 signals, internal linking, Core Web Vitals sebagai three separate masalah, ongoing monitoring, migrations, dan AI search. throughline adalah one I selalu come back untuk — SEO teknis adalah paling penting bagian dari SEO until ini isn't. ini adalah foundation itu lets konten dan tautan peringkat, not sebuah peringkat trick dari -nya own. Anda dapat't peringkat sebuah halaman Google won't indeks, so highest-nilai berfungsi adalah biasanya paling boring.

TL;DR — SEO teknis adalah yang sama crawl → render → indeks → sajikan pipeline pada setiap situs — there’s no separate “technical SEO algorithm” (terjemahan) “SEO teknis algorithm” — dan ini adalah sebuah foundation, not sebuah peringkat factor dari -nya own. Treat pipeline sebagai sebuah series dari gates dan diagnose which one sebuah halaman adalah stuck di sebelum changing anything. leverage adalah mostly negative (not losing what Anda’ve earned), so boring structural berfungsi — canonicalization, redirects, tautan internal — pays best, dan ini compounds di scale. sebagian besar situs don’t perlu untuk manage anggaran crawling; rendering adalah sebuah separate langkah itu dapat lag; Core Web Vitals adalah three distinct masalah dan sebuah minor peringkat lever; canonicalization adalah sebuah weighted decision di seluruh ~40 signals; dan dari 2025 pada, AI search gates eligibility pada clean technical signals sebelum ini peringkat atau cites Anda. highest skill here adalah prioritization — knowing what untuk ignore.

SEO teknis decides eligibility, not position

SEO teknis adalah one bagian dari SEO whose payoff adalah almost entirely negative: -nya job adalah untuk pertahankan Anda dari losing rankings, not untuk win them. Google doesn’t hand out positions untuk clean plumbing. yang sama crawling, pengindeksan, dan peringkat sistem run whether Anda situs adalah pristine atau sebuah disaster — there’s no separate “technical SEO algorithm” (terjemahan) “SEO teknis algorithm” sitting behind them. What SEO teknis actually decides adalah whether Anda halaman dapat enter itu sistem di semua, dan whether mesin understands them correctly once mereka’re di.

So right mental model isn’t “do technical SEO to rank.” (terjemahan) “melakukan SEO teknis untuk peringkat.” ini adalah “do technical SEO so your content and links are allowed to rank.” (terjemahan) “melakukan SEO teknis so Anda konten dan tautan adalah allowed untuk peringkat.” itu inversion adalah whole alasan unglamorous berfungsi — canonicalization, redirects, tautan internal — adalah highest-nilai berfungsi, dan why single sebagian besar berguna skill di ini discipline adalah prioritization: knowing what untuk fix dan, hanya sebagai sering, what untuk leave alone.

pipeline, sebagai gates

Everything hangs off one pipeline, dan operative clause dari Google adalah “not all pages make it through each stage.” (terjemahan) “not semua halaman membuat ini melalui setiap stage.” Evidence for this claim Google Search describes crawling, indexing, and serving as three stages; discovery is part of the crawling stage, and not every page advances through each stage. Scope: Google Search documentation; conceptual explanation, not a promise of ranking outcomes. Confidence: high · Verified: Google: How Search Works Don’t picture sebuah conveyor belt itu carries setiap halaman untuk finish. Picture sebuah series dari gates, setiap dengan -nya own pass/fail:

  • crawl — penemuan (tautan + sitemaps + push protocols) plus fetch. sebuah halaman nothing tautan untuk, atau one disallowed di robots.txt, dapat tidak pernah arrive.
  • Render — Google runs Anda JavaScript di sebuah recent headless Chrome ( Web rendering Service) sebelum ini dapat fully memahami halaman. ini adalah sebuah separate langkah dari fetch, ini adalah stateless, dan ini dapat lag.
  • indeks — mesin processes halaman, picks sebuah canonical among duplicates, dan decides whether untuk store ini. “Indexing isn’t guaranteed” (terjemahan) “pengindeksan isn’t guaranteed” bahkan when crawling dan rendering succeed.
  • sajikan — kueri understanding, lalu peringkat di seluruh banyak automated sistem, lalu search fitur layered pada top.

pertahankan crawl ≠ render ≠ indeks ≠ peringkat separate di Anda head dan sebagian besar dari SEO teknis stops menjadi mysterious. When sebuah halaman underperforms, Anda tidak guess dan Anda tidak perubahan ten things — Anda temukan which gate ini failed dan fix itu stage.

One honest caveat sebelum Anda treat apa pun pipeline deskripsi sebagai gospel, including mine: ini adalah sebuah model, not kode sumber. How Search berfungsi adalah sebuah talk I give di conferences itu walks melalui ini whole pipeline (slides pada SlideShare), dan I open ini dengan sebuah warning I’ll repeat here: “this is my understanding of systems… not going to be 100% complete or accurate.” (terjemahan) “ini adalah my understanding dari sistem… not going untuk menjadi 100% complete atau accurate.” Hold ini loosely dan gunakan ini untuk alasan tentang masalah.

Who actually melakukan crawling

“Googlebot” (terjemahan) “Googlebot” sounds like one program. ini adalah sebuah family — desktop, mobile ( one itu penting, since pengindeksan adalah mobile-pertama), image, news, video, dan ads crawler — semua drawing dari sama anggaran crawling pool, which adalah why sebuah runaway image atau parameter crawl dapat starve crawling dari Anda nyata konten.

dan ini adalah not hanya mesin pencari anymore. When I analyzed Cloudflare Radar crawl data (sebuah Ahrefs piece I wrote pada baru wave dari bot), search-mesin crawler masih di-crawl paling, tetapi AI bot adalah firmly di kedua place dan pada track untuk overtake them. jika Anda read Anda logs, cast dari characters memiliki changed — dan managing ini (which AI crawler Anda allow, dan confirming ones hitting Anda adalah who mereka claim) adalah now bagian dari job.

anggaran crawling: when ini penting, dan when ini doesn’t

Google defines anggaran crawling sebagai “the set of URLs that Google can and wants to crawl,” (terjemahan) “ set dari URLs itu Google dapat dan ingin untuk crawl,” set oleh crawl capacity (Anda server’s health) dan crawl demand (popularity dan staleness). Anda raise effective budget two cara: give bot more capacity, atau — far more sering — stop wasting ini. Consolidate duplicates, block rendah-nilai spaces, kembalikan 404/410 untuk permanently hilang halaman, fix soft 404s, pertahankan sitemaps saat ini dengan accurate lastmod, dan hindari panjang rantai pengalihan.

reassuring bagian, dan I’ll pertahankan saying ini: sebagian besar situs don’t perlu untuk worry tentang anggaran crawling. Google itself tells Anda itu jika Anda halaman adalah umumnya di-crawl sama day mereka’re published, “you don’t need to read this guide.” (terjemahan) “Anda tidak perlu untuk read ini guide.” ini starts untuk bite sekitar 1M+ halaman, atau 10k+ halaman itu perubahan rapidly. Below itu, spend Anda energy elsewhere. Evidence for this claim Google says crawl-budget guidance is mainly relevant to very large sites, including sites with over one million unique pages or over ten thousand rapidly changing pages. Scope: Google Search guidance; the page-count examples are diagnostic starting points, not hard eligibility thresholds. Confidence: high · Verified: Google: Large site crawl budget guide Bing’s Fabrice Canel frames yang sama idea more bluntly: less adalah more — fewer URLs untuk crawl adalah better untuk SEO.

robots.txt: crawl control, not indeks control

paling penting distinction di ini whole file: robots.txt controls crawling, not pengindeksan. Disallowing sebuah URL stops bot dari fetching ini — ini melakukan not pertahankan ini out dari indeks. sebuah disallowed halaman dapat masih menjadi terindeks (URL hanya, tanpa konten) jika lainnya halaman tautan untuk ini, dan worse, jika Anda disallow sebuah halaman Anda juga stop Google dari ever seeing sebuah noindex tag pada ini.

So aturan adalah:

  • ingin sebuah halaman hilang dari search? Allow crawling dan tambahkan noindex. tidak pernah gunakan robots.txt untuk deindex.
  • ingin bot untuk skip sebuah rendah-nilai URL space (internal search, infinite faceted combinations) dan don’t care tentang pengindeksan? robots.txt disallow adalah correct.
  • Managing AI crawler? ini adalah juga where Anda allow atau block GPTBot, ClaudeBot, PerplexityBot, CCBot dan friends — sebuah strategic decision, not sebuah default.

Canonicalization: sebuah weighted decision, not sebuah command

Canonicalization adalah where sebuah lot dari advanced SEO teknis lives, dan ini adalah widely misunderstood. rel="canonical" adalah sebuah hint, not sebuah directive. Google weighs ini terhadap banyak lainnya signals — redirects, tautan internal, sitemap inclusion, HTTPS, struktur URL — when ini picks representative URL. My deep dive pada canonicalization puts count sekitar 40 signals itu feed canonical selection, which adalah why Anda sometimes see “Duplicate, Google chose different canonical than user” (terjemahan) “Duplicate, Google chose berbeda canonical daripada pengguna” di Search Console: Anda tag adalah outvoted.

practical implications:

  • Don’t kirim conflicting signals. I spent years pada enterprise situs (I ran SEO teknis di-house di IBM), dan di sebuah talk I give called SEO perusahaan Chaos I tampilkan nyata halaman itu “redirected to one version, canonicaled to a second, and internally linked to a third.” (terjemahan) “redirected untuk one versi, canonicaled untuk sebuah kedua, dan internally ditautkan untuk sebuah ketiga.” Pick one URL dan membuat setiap signal agree.
  • Signal strength roughly peringkat redirect > rel="canonical" > internal tautan > sitemap. sebuah 301 adalah sebuah much stronger statement daripada sebuah tag canonical.
  • Duplicate konten isn’t sebuah penalty. Google’s Gary Illyes memiliki said roughly 60% dari web adalah duplicate konten, dan Google treats beberapa dari ini sebagai normal — not sebuah spam violation. cost adalah split signals dan wasted crawling, not sebuah punishment. fix adalah consolidation, not panic.

dan sebuah note pada JavaScript: I once ran sebuah test — injecting sebuah rel="canonical" via JavaScript pada sebuah halaman itu memiliki none di HTML — dan Google honored ini, bahkan though ini memiliki publicly said ini wouldn’t. setelah itu surfaced, Google updated -nya JavaScript SEO documentation. lesson isn’t “use JS canonicals” (terjemahan) “gunakan JS canonicals”; ini adalah itu ini stuff adalah testable, dan docs aren’t selalu last kata.

rendering decision

rendering adalah langkah sebagian besar overviews skip, dan ini adalah where JavaScript situs get ke trouble. “During the crawl, Google renders the page and runs any JavaScript it finds using a recent version of Chrome.” (terjemahan) “selama crawl, Google renders halaman dan runs apa pun JavaScript ini menemukan menggunakan sebuah recent versi dari Chrome.” Evidence for this claim Google processes JavaScript pages in crawling, rendering, and indexing phases and uses a recent version of Chrome for rendering. Scope: Google Search JavaScript processing; rendering and indexing remain subject to technical and quality constraints. Confidence: high · Verified: Google: JavaScript SEO basics ini adalah sebuah separate, stateless service, ini dapat cache resources untuk weeks, dan ini dapat lag initial fetch — so sebuah JS-dependent perubahan dapat take sebuah while untuk menjadi reflected.

JavaScript isn’t enemy here. sebagai I put ini di my guide untuk JavaScript SEO, JavaScript adalah not buruk untuk SEO, dan ini adalah not evil — ini adalah hanya berbeda dari what banyak SEOs adalah digunakan untuk. nyata decision adalah how Anda render:

  • rendering sisi server (SSR) — safest untuk SEO; HTML arrives complete.
  • Static generation (SSG/pre-rendering) — best dari both worlds untuk konten itu doesn’t perubahan per permintaan.
  • rendering sisi klien (CSR) — highest risk; konten hanya exists setelah JS runs, so Anda’re betting pada render langkah.
  • Dynamic rendering — Google panggilan ini sebuah workaround, not sebuah recommendation; Bing adalah more favorable. Treat ini sebagai sebuah bridge, not sebuah destination.

Two traps untuk know cold. pertama, lazy-memuat: Googlebot doesn’t scroll atau click, so konten itu hanya memuat pada interaction dapat stay invisible — pastikan ini memuat when ini adalah di viewport. kedua, tautan: Google dapat hanya ikuti sebuah tautan itu’s sebuah nyata <a href> element. sebuah routerLink atau sebuah click handler dengan no href adalah not sebuah dapat di-crawl tautan. Verify rendered output terhadap raw HTML dengan URL Inspection alat whenever Anda suspect sebuah gap.

situs architecture dan internal linking

tautan internal melakukan three jobs di once: mereka help bot menemukan halaman, mereka distribute PageRank, dan mereka pass topical context melalui teks jangkar. John Mueller memiliki called internal linking “super critical for SEO” (terjemahan) “super critical untuk SEO” dan one dari biggest levers Anda memiliki pada Anda own situs — dan I agree. ini adalah one dari highest-ROI things Anda control directly.

sebuah few sistem-tingkat poin:

  • Orphan halaman — halaman nothing tautan untuk — adalah pertama thing untuk hunt untuk. jika ini adalah not ditautkan, ini adalah barely discoverable dan gets almost no equity.
  • Architecture adalah crawl-funnel management. penting halaman belong close untuk home halaman; deep, click-distant halaman get di-crawl less dan peringkat worse.
  • PageRank sculpting dengan nofollow adalah dead (since 2009). Nofollowing internal tautan membuat itu equity evaporate alih-alih redistribute. Manage flow dengan nyata architecture, not nofollow tricks.

Core Web Vitals: three masalah, not one

biggest practitioner error dengan pengalaman halaman adalah treating ini sebagai sebuah single “make the site faster” (terjemahan) “membuat situs faster” masalah. Core Web Vitals adalah three distinct masalah dengan berbeda root causes dan berbeda fixes:

  • LCP (Largest Contentful Paint) — memuat. Driven oleh server respons time, render-blocking resources, dan how fast main konten asset memuat. Target di bawah 2,5 seconds.
  • INP (Interaction untuk Next Paint) — interactivity. Driven oleh JavaScript execution blocking main thread. Target di bawah 200 milliseconds. (INP replaced FID di 2024 — jika Anda masih see FID anywhere, advice adalah stale.)
  • CLS (Cumulative Layout Shift) — visual stability. Driven oleh images without dimensions, late-memuat fonts, dan injected konten. Target di bawah 0,1.

Two things penting beyond definitions. data lapangan, not data lab: Google peringkat pada nyata-pengguna CrUX data, not Anda Lighthouse score, so sebuah Lighthouse 65 dengan baik field data beats sebuah Lighthouse 100 dengan buruk data lapangan. dan proportion: I’ll menjadi honest — I don’t think Core Web Vitals memiliki much impact pada SEO, dan unless sebuah situs adalah extremely slow I umumnya won’t prioritize fixing them untuk rankings. melakukan berfungsi untuk pengguna dan conversions; hanya don’t oversell ini sebagai sebuah peringkat lever.

data terstruktur: signals untuk search dan AI

data terstruktur (gunakan JSON-LD) doesn’t peringkat Anda, tetapi ini membuat halaman eligible untuk rich hasil dan increasingly helps AI sistem parse Anda konten untuk citation. ini adalah genuinely berguna — dan genuinely oversold sebagai sebuah sinyal peringkat. My honest framing: sebagian besar dari SEO adalah doing basics well, dan konten dan tautan move needle more daripada schema melakukan. Implement ini where ini unlocks sebuah rich hasil atau clarifies sebuah entity; don’t expect ini untuk lift rankings pada -nya own. (dan note: schema markup URLs adalah not dapat di-crawl tautan internal — Mueller memiliki confirmed ini.)

International, briefly

jika Anda sajikan multiple languages atau regions, gunakan distinct URLs per versi dan hreflang annotations untuk map them, dan prefer ccTLDs atau subdirectories di atas URL parameters. Don’t auto-redirect oleh IP — Google explicitly warns terhadap ini dan ini breaks crawling. SEO internasional adalah deep enough untuk menjadi -nya own pillar; ini adalah hanya technical handshake.

SEO teknis adalah sebuah ongoing sistem, not sebuah one-time audit

framing setiap competitor guide gets wrong: SEO teknis adalah not sebuah checklist Anda complete once. situs perubahan constantly — deploys break tag canonical, sebuah release slips sebuah noindex ke sebuah template, sebuah baru ad script tanks INP, rantai pengalihan accumulate. mature practice adalah monitoring dan regression detection:

  • Watch GSC halaman pengindeksan untuk sudden perubahan di terindeks counts dan excluded statuses.
  • Watch crawl Stats dan Anda logs untuk respons-code spikes dan crawl-pattern shifts.
  • Re-validate crawl, render, dan redirects setelah setiap significant deployment.

pada log files specifically: I digunakan untuk treat them sebagai sebuah once-setiap-few-years troubleshooting alat. itu’s changed. Logs adalah now clearest place untuk see which AI crawler adalah actually hitting Anda dan how sering — something no lainnya alat menampilkan Anda sebagai directly — so untuk anyone who cares tentang AI search, mereka’ve become sebuah lot more berguna daripada mereka adalah.

situs migrations: highest-stakes event

sebuah migration — baru domain, HTTP untuk HTTPS, sebuah replatform, sebuah URL restructure — adalah single highest-stakes technical event, because ini touches setiap URL di once. Map old untuk baru 1:1, gunakan 301/308 permanent redirects, pertahankan them di place indefinitely (I akan not rush untuk hapus them — sebuah couple dari redirect hops adalah nothing untuk worry tentang), dan gunakan GSC perubahan dari Address alat where ini applies. Migrations dapat menjadi kompleks dan involve sebuah lot dari people, tetapi don’t panic — Anda dapat fix almost anything itu goes wrong. There’s sebuah full situs Migrations cluster di bawah ini pillar.

modern shift, dan ini cuts terhadap lazy “technical SEO is dead” (terjemahan) “SEO teknis adalah dead” take: dari 2025 pada, AI search sistem decide eligibility sebelum mereka ever peringkat atau cite. untuk menjadi quoted di sebuah AI jawaban Anda halaman umumnya memiliki untuk menjadi cleanly canonicalized, fast enough, renderable without heroics, dan structured enough untuk menjadi parsed dengan confidence. Messy signals don’t hanya lower sebuah peringkat now — mereka dapat hapus Anda dari jawaban entirely. Because Bing’s indeks feeds banyak LLM jawaban, Bing Webmaster alat dan IndexNow penting more daripada Bing’s search share suggests. Technical hygiene penting more di AI era, not less.

Where leverage actually adalah

jika Anda take one thing dari ini guide, membuat ini prioritization. Spend Anda time pada pengindeksan, canonicalization, tautan internal, dan clean migrations — berfungsi itu decides whether halaman exist di search dan consolidate mereka equity. Don’t lose sleep di atas anggaran crawling, Core Web Vitals, duplicate konten, atau pendek rantai pengalihan unless Anda memiliki sebuah spesifik, diagnosed masalah. dan don’t chase perfection — I doubt there’s sebuah major situs web itu’s technically perfect, dan jika there adalah, I’d worry mereka adalah wasting resources pada things itu don’t penting alih-alih things itu melakukan.

ini hub maps rest dari pillar: How Search berfungsi, situs Migrations, pada-halaman, mesin pencari alat, dan JavaScript SEO. Start wherever Anda situs adalah breaking — pipeline tells Anda which gate untuk lihat pertama.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.