Panduan WordPress SEO

sebuah SEO teknis practitioner's guide untuk WordPress — default settings itu hurt Anda, bagaimana core sitemap dan canonical menangani sebenarnya berfungsi, mengapa Anda jalankan persis satu SEO plugin, dan duplicate-konten sources WordPress membuat pada -nya own.

Pertama kali diterbitkan: 27 Jun 2026 · Terakhir diperbarui: 3 Agu 2026 · Lanjutan

WordPress adalah SEO-capable, tidak SEO-finished. ini self-canonicalizes posts since versi 2,9 dan ships sebuah native sitemap XML since 5,5 — tetapi -nya defaults juga leave?p=123 permalinks, attachment halaman, date/tag/author archives, feeds, dan internal hasil pencarian semua dapat diindeks, dan sebuah single Settings → Reading checkbox dapat silently block seluruh situs. memperbaiki itu sebenarnya penting: set /%postname%/ sebelum penerbitan, jalankan persis satu SEO plugin (Yoast, peringkat Math, atau AIOSEO — tidak pernah dua, wp_head conflict produces duplicate metadata), noindex thin archives alih-alih disallowing them, dan pertahankan sitemap untuk canonical dapat diindeks URLs hanya. WordPress 6.4+ disables attachment halaman pada baru installs oleh default — mengalihkan straight untuk file, tidak parent post — tetapi existing situs pertahankan them pada dan harus migrate manually. Google memiliki tidak pernah mengatakan WordPress peringkat better atau worse daripada apa pun lainnya CMS — konten dan tautan decide itu, tidak platform.

TL;DR — WordPress adalah SEO-capable, tidak SEO-finished. ini self-canonicalizes singular posts since versi 2,9 dan ships sebuah native sitemap XML since 5,5 — tetapi defaults leave ?p=123 permalinks, attachment halaman, date/tag/author archives, feeds, dan ?s= penelusuran halaman semua dapat diindeks, dan Settings → Reading checkbox dapat silently block seluruh situs. memperbaiki itu move needle: /%postname%/ sebelum penerbitan, persis satu SEO plugin ( wp_head conflict dari dua adalah nyata), noindex thin archives alih-alih disallowing them, dan sebuah sitemap dari canonical dapat diindeks URLs hanya. WordPress 6.4+ disables attachment halaman oleh default pada baru installs — mengalihkan untuk file itself, tidak parent post; existing situs pertahankan them enabled dan migrate oleh hand. Google memiliki tidak pernah mengatakan WordPress adalah better atau worse untuk SEO daripada apa pun lainnya CMS. Bukti untuk klaim ini WordPress added core XML sitemaps in 5.5 and attachment-page redirects for new sites in 6.4. Cakupan: Core version history; existing sites can retain prior attachment behavior. Tingkat keyakinan: tinggi · Diverifikasi: WordPress 5.5 XML sitemaps WordPress 6.4 attachment pages

WordPress adalah SEO-capable, tidak SEO-finished

honest framing adalah di suatu tempat antara dua marketing claims Anda biasanya hear. WordPress adalah tidak “SEO-friendly out dari itu box” (terjemahan) “SEO-friendly out dari box” di apa pun menyelesaikan sense — tetapi ini juga tidak buruk untuk SEO. ini memberikan Anda sebuah strong, controllable foundation dan lalu leaves sebuah pile dari dapat diindeks cruft turned pada oleh default. seluruh job adalah knowing yang defaults untuk perubahan dan yang auto-generated URLs untuk suppress.

dan untuk menjadi jelas up front: Google memiliki tidak pernah mengatakan WordPress peringkat better atau worse daripada apa pun lainnya CMS. sebagai Google’s documentation puts ini, “jika Anda menggunakan a CMS such sebagai WordPress, Wix, atau Blogger, ini kemungkinan besar itu Anda CMS memiliki sudah membuat a sitemap tersedia untuk penelusuran engines” (terjemahan) “jika Anda’re menggunakan sebuah CMS such sebagai WordPress, Wix, atau Blogger, ini adalah mungkin itu Anda CMS memiliki sudah dibuat sebuah sitemap tersedia untuk mesin pencari” — platform adalah treated like apa pun lainnya. Rankings come dari konten dan tautan, tidak dari logo di Anda admin bar. Bukti untuk klaim ini Google says common CMS platforms often generate sitemaps and does not prescribe a CMS-specific ranking advantage. Cakupan: Google sitemap guidance; absence of a CMS ranking advantage is an editorial inference from platform-neutral requirements. Tingkat keyakinan: medium · Diverifikasi: Google: Build and submit a sitemap

defaults itu hurt — dan mengapa

** “Discourage penelusuran engines dari indexing ini site” (terjemahan) “Discourage mesin pencari dari pengindeksan ini situs” checkbox** (Settings → Reading) menulis sebuah situs-wide noindex dan sebuah restrictive virtual robots.txt. ini adalah pertama hal I periksa pada apa pun WordPress audit, karena ini adalah single setting itu dapat silently zero out sebuah entire situs’s pengindeksan — biasanya left pada dari staging.

** ?p=123 default permalink** memberikan Tidak topical sinyal dan tidak sebuah bersih URL. Switch untuk /%postname%/ — dan melakukan ini sebelum penerbitan. pada sebuah established situs, mengubah permalink structure berarti URL perubahan; WordPress akan auto-301 old numeric URLs untuk standard post jenis, tetapi custom post jenis dan halaman jangan selalu redirect cleanly, so test. I’d hindari baking category ke permalink (/%category%/%postname%/): day Anda reorganize taxonomy Anda trigger sebuah mass URL perubahan dan throw away peringkat history untuk Tidak proportional benefit.

Attachment halaman adalah WordPress-spesifik gotcha orang forget. setiap media upload secara historis spawned sebuah standalone URL containing hanya file dan beberapa auto-metadata — thin halaman itu dapat cannibalize nyata ones. WordPress 6.4 changed default so baru installs disable attachment halaman entirely — sebuah permintaan untuk satu now redirects straight untuk file itself, tidak parent post. Existing (upgraded) situs pertahankan attachment halaman enabled; ada Tidak Settings-screen toggle untuk ini, hanya wp option set wp_attachment_pages_enabled 0 melalui WP-CLI atau editing option secara langsung pada wp-admin/options.php. dalam praktik sebagian besar situs owners tidak pernah touch itu option dan alih-alih tangani ini plugin cara: noindex attachment halaman, atau better, redirect ini untuk parent post melalui Anda SEO plugin. jangan assume sebuah older situs inherited WordPress 6.4 default; ini tidak.

Archives, feeds, dan penelusuran halaman. oleh default WordPress generates dapat diindeks category archives, tag archives, date archives, author archives, paginated archive halaman (?page=2), feed URLs (/feed/), attachment halaman, dan internal penelusuran hasil halaman (/page=search, i.e. ?s=). itu’s canonical list dari WordPress duplicate-konten sources, dan hampir none dari ini adalah sebuah decision Anda dibuat.

Duplicate konten WordPress membuat pada -nya own

Worth stating plainly karena ini surprises orang: WordPress manufactures structural duplicate konten oleh default. recurring sources:

SumbercontohTypical perbaiki
Category archives/category/news/pertahankan, atau noindex jika thin
Tag archives/tag/wordpress/biasanya noindex (thin, overlapping)
Author archives/author/admin/Noindex pada single-author situs
Date archives/2023/04/Noindex (hampir selalu thin)
Pagination/page/2/Self-referential canonical (tidak halaman 1)
Feed URLs/feed/Noindex feeds
Attachment halaman/photo-of-cat/Redirect untuk parent melalui SEO plugin (WP 6.4+ redirects baru installs untuk file itself alih-alih)
hasil pencarian/?s=keywordNoindex

perbaiki adalah hampir tidak pernah untuk panic tentang sebuah penalty — Google consolidates duplicates untuk sebuah canonical alih-alih penalizing structural duplication. perbaiki adalah untuk noindex thin stuff dan pertahankan sitemap bersih. dan sebuah critical pembedaan: noindex ≠ Tidak-crawl. sebuah noindexed halaman harus stay dapat di-crawl so Google dapat sebenarnya baca noindex. jika Anda disallow ini di robots.txt alih-alih, Google dapat’t see directive — yang adalah mengapa Anda noindex thin archives alih-alih blocking them.

sitemap XML: core vs. plugin

WordPress 5.5 (August 2020) ditambahkan sebuah native sitemap XML di /wp-sitemap.xml. ini adalah nyata, tetapi barebones. ini dumps di semua publik post jenis, semua publik taxonomies, dan author archives — meaning ini happily lists persis thin halaman Anda ingin out dari indeks. ini memiliki Tidak image-sitemap mendukung dan limited control. So dalam praktik sebagian besar situs gunakan sitemap dari Yoast atau peringkat Math alih-alih, yang lets Anda sertakan/exclude spesifik post jenis dan taxonomies dan pertahankan file untuk canonical, dapat diindeks URLs. Yoast disables core sitemap dan replaces ini; itu’s yang diharapkan.

Dua hal sitemap tidak akan melakukan untuk Anda: Google ignores <priority> dan <changefreq> entirely (per Google’s own docs), dan WordPress melakukan tidak submit sitemap untuk Google untuk Anda — Anda submit ini di Search Console dan Bing Webmaster alat, dan Anda dapat list ini melalui sebuah Sitemap: directive di robots.txt untuk passive penemuan. 50 000-URL / 50MB limit dari spec masih applies; split ke sebuah sitemap indeks past itu.

Canonical menangani: core, plugin, dan conflict trap

Core memiliki output rel=canonical melalui rel_canonical() since WordPress 2.9 (2009) — singular posts dan halaman self-canonicalize. WordPress 4.6 tidak tambahkan tag; ini refactored function untuk gunakan filterable wp_get_canonical_url(), yang adalah apa orang biasanya berarti ketika mereka say “canonical since 4.6.” (terjemahan) “canonical since 4,6.” itu’s sebuah baik baseline, tetapi core tidak tangani custom post jenis consistently di seluruh themes, tidak tambahkan canonicals pada 404s, dan tidak resolve URL-variation duplicates (?utm_source=, www vs. non-www, trailing slashes) pada -nya own. SEO plugins replace core output dengan lebih comprehensive menangani: custom post jenis canonicals, self-referential pagination canonicals (tidak pointing halaman 2+ di halaman 1 — sebuah mistake itu deindexes Anda deeper halaman), cross-domain canonical untuk syndication, dan per-halaman overrides.

Di sini’s trap itu ties seluruh plugin pertanyaan together: ** tag canonical set oleh Anda SEO plugin adalah authoritative sinyal — tetapi jika Anda theme juga injects sebuah tag judul atau -nya own SEO meta, Anda mendapatkan sebuah conflict.** beberapa theme kerangka kerja (Genesis, Thesis) emit mereka own SEO tags. Ketika Anda activate sebuah SEO plugin, disable theme-tingkat SEO, dan inspect dirender <head> untuk konfirmasi persis satu canonical, satu judul, satu deskripsi meta.

Satu SEO plugin. tidak pernah dua.

ini deserves -nya own heading karena ini adalah paling umum self-inflicted WordPress SEO wound. tidak pernah jalankan dua SEO plugins simultaneously. Yoast, peringkat Math, dan AIOSEO semua hook ke wp_head() untuk tulis judul, deskripsi meta, canonical, Open Graph/Twitter tags, robots meta, dan JSON-LD. Jalankan dua dan mereka keduanya fire — duplicate deskripsi meta, duplicate (dan contradictory) tag canonical, conflicting Open Graph, dan conflicting sitemaps. Search Console akan flag duplicate metadata. Pick satu dan fully uninstall lainnya (deactivating leaves database entries behind).

sebagai untuk yang satu — mereka semua cover core tasks; pilihan adalah gunakan-case dan budget:

  • Yoast SEO — largest install base, familiar traffic-light scoring, great untuk beginners dan konten tim itu ingin sebuah guided workflow. (WooCommerce schema adalah sebuah paid tambahkan-pada.)
  • peringkat Math — paling generous free tier: unlimited focus keywords, redirect manager, 404 monitoring, GSC + GA4 integration, dan sebuah strong schema builder (16+ jenis free). My pick untuk developers dan power pengguna.
  • semua di Satu SEO (AIOSEO) — strong WooCommerce integration, internal-tautan assistant, baik local SEO. Suits agencies dan besar stores.

Satu caution pada Yoast’s green lights: sebuah lebih tinggi Yoast score tidak berarti better rankings. ini adalah sebuah heuristic untuk basic pada-halaman formatting — keyword presence, judul length, readability proxies. sebuah red-light post routinely outranks sebuah semua-green satu. konten quality, intent match, authority, dan tautan penting far lebih.

Schema: apa WordPress melakukan dan tidak output

Core WordPress outputs essentially tidak ada apa pun berguna untuk rich hasil — bersih HTML Google dapat parse, tetapi Tidak JSON-LD. sebagai Google notes, “if you use a CMS, such as Wix, WordPress, or Shopify, you might not be able to edit your HTML directly… you may be able to install a plugin that allows you to specify structured data.” (terjemahan) “jika Anda gunakan CMS, such sebagai Wix, WordPress, atau Shopify, Anda mungkin tidak menjadi able untuk edit Anda HTML secara langsung… Anda dapat menjadi able untuk install sebuah plugin itu memungkinkan Anda untuk specify data terstruktur.” itu’s path:

  • Yoast auto-menambahkan Organization/Person, situs web (dengan SearchAction), WebPage, BreadcrumbList, dan artikel schema di JSON-LD.
  • peringkat Math menambahkan itu plus 16+ schema jenis di free tier (FAQ, HowTo, Product, Review, Event…) dan sebuah builder untuk custom jenis.
  • WooCommerce alone outputs basic Open Graph product metadata tetapi Tidak Product JSON-LD — Anda perlu Yoast WooCommerce SEO (paid) atau peringkat Math Pro untuk penuh Product schema dengan price, availability, dan review aggregate.

WooCommerce, briefly

WooCommerce stacks lebih SEO surface pada top dari standard WordPress. recurring issues: /product/ dan /product-category/ URL bases (removable, dengan redirects pada existing situs), product variations membuat near-duplicates, dan — big satu — faceted navigation generating thousands dari thin filter-combination URLs. Tangani facets yang sama cara Anda’d tangani them anywhere: ideally JS-based filtering dengan Tidak URL perubahan, jika tidak rel=canonical untuk base category dan/atau noindex, follow pada filter halaman (dengan crawling diizinkan so directive adalah seen). Shop dan category pagination ingin self-referential canonicals, dan Google deprecated rel=prev/next back di 2019 — harmless jika present, tetapi jangan rely pada ini. Faceted nav memiliki -nya own deep treatment di Ecommerce SEO pillar.

robots.txt dan Core Web Vitals — dua quick notes

WordPress menyajikan sebuah virtual robots.txt (ini adalah tidak sebuah file pada disk) menggunakan default untuk disallowing /wp-admin/ sementara allowing admin-ajax.php. Drop sebuah physical file di root dan ini overrides virtual satu entirely; SEO plugins let Anda edit virtual versi dari dashboard. classic mistake adalah disallowing /wp-content/, yang blocks CSS/JS/images dan breaks rendering — jangan.

pada performa: “WordPress is slow” (terjemahan) “WordPress adalah slow” complaint adalah sebuah configuration masalah, tidak sebuah core masalah. LCP issues trace mostly untuk TTFB (cheap shared hosting, Tidak opcode cache) dan unoptimized hero images; INP issues untuk JavaScript bloat dari halaman builders (Elementor, Divi); CLS untuk images tanpa dimensions dan web fonts tanpa font-display: swap. Lightweight themes (GeneratePress, Kadence, Astra) plus sebuah caching plugin, sebuah CDN, dan modern image formats mendapatkan sebuah well-dibangun WordPress situs melalui Core Web Vitals comfortably. detail lives di Web performa cluster.

Tambahkan catatan pakar

Sematkan kutipan pakar

Orang baru? Buat profilnya yang belum diklaim di /admin/experts/ → Sematkan kutipan pakar terlebih dahulu.