[WordPress] 外掛分享: SEOGeoX

首頁 › 外掛目錄 › SEOGeoX
全新外掛
安裝啟用
★★★★★
5/5 分(1 則評價)
21 天前
最後更新
—
問題解決
WordPress 6.0+ PHP 7.4+ v1.0.5 上架:2026-09-23

內容簡介

SEOGeoX 是一款輕量級且快速的 SEO 外掛,旨在以更低的管理負擔和透明的評分模型,提供與 Yoast 和 RankMath 相同的核心功能。它內建的本地 SEO 工具包可協助優化地理位置相關的內容,讓網站在搜尋引擎中表現更佳。

【主要功能】
• 單一文章的 SEO 標題和描述編輯框
• 前端標題、描述及 Open Graph 標籤覆蓋
• 社交媒體預覽及片段編輯器
• JSON-LD 結構化資料支援
• 本地商業架構標記及多位置 SEO 功能

外掛標籤

開發者團隊

⬇ 下載最新版 (v1.0.5) 或搜尋安裝

① 下載 ZIP → 後台「外掛 › 安裝外掛 › 上傳外掛」
② 後台搜尋「SEOGeoX」→ 直接安裝(推薦)
📦 歷史版本下載

原文外掛簡介

SEOGeoX is a lean, fast SEO plugin built around one idea: do the
same core job as Yoast/RankMath, with less admin overhead and a fully
transparent scoring model — no opaque single-number score, no bundled JS
admin framework, and no assets loaded outside the one screen that needs
them. The “Geo” in the name is the built-in Local SEO toolkit further
down this list (address/geo-coordinate fields, LocalBusiness schema, and
a multi-location “SEO Locations” post type) rather than a separate
add-on — everywhere else, “geo” isn’t used as a stand-in for features
that don’t exist yet. This is a new plugin looking for real-world
testers before it grows further; see “Has this been tested on a live
site?” in the FAQ below for exactly where your testing would help most.
It currently includes:

A single per-post meta box: SEO title, meta description, up to 5 focus
keyphrases (the first treated as primary), a live Google/Facebook/
Twitter-X preview, optional noindex, optional canonical override,
optional cornerstone-content flag, and an optional per-post schema type
override.
Frontend override, meta description, canonical link, Open<br /> Graph tags, and Twitter Card tags — rendered from data already loaded on<br /> the page request, with no extra database queries.<br /> A social preview + snippet editor right in the meta box: live, no-<br /> network-request previews of how a page will look in Google search<br /> results, a Facebook/X link share, and a Twitter/X card, with optional<br /> title/description/image overrides for the social cards (via the media<br /> library) that never touch the SEO title or meta description search<br /> engines see. Twitter/X reuses the Facebook card’s content unless you<br /> opt into a separate title/description/image for it.<br /> JSON-LD structured data: an Organization/WebSite graph sitewide, plus<br /> Article and BreadcrumbList nodes on singular content. When WooCommerce<br /> is active, product pages automatically get a Product node instead —<br /> with Offer (or AggregateOffer for variable products), stock<br /> availability, SKU, AggregateRating, and up to 10 individual Review<br /> nodes (most recent first) when the product has reviews with a star<br /> rating. A per-post Schema Type Override (in the meta box’s advanced<br /> fields) can replace the automatic Article/Product node with an Event,<br /> Course, Podcast Episode, Dataset, or FAQ Page node instead, each with<br /> its own small set of type-specific fields. A GTIN/MPN/brand-override<br /> section appears on WooCommerce product edit screens, feeding straight<br /> into the Product node for better Google Merchant Center / Shopping<br /> eligibility. When Organization type (SEOGeoX > General Settings) is set to<br /> a business type (LocalBusiness, Store, Restaurant, etc.), the sitewide<br /> Organization node also carries address, geo coordinates, phone, price<br /> range, and opening hours from the new “Local Business Info” section<br /> there. For multi-location businesses, a new “SEO Locations” post type<br /> (nested under the SEOGeoX menu) gives each branch its own page,<br /> its own LocalBusiness<br /> node (same address/hours/geo fields, per location), and — since it’s a<br /> public post type — its own entry in the XML sitemap automatically.<br /> A cached XML sitemap at /sitemap.xml (index) and<br /> /sitemap-{post_type}.xml, rebuilt only when content changes — not on<br /> every visit. When WPML or Polylang is active, each per-type sitemap<br /> covers every active language in one file, with every translation<br /> cross-linked via hreflang alternate tags — built against both<br /> plugins’ public APIs, but not yet exercised against a live multilingual<br /> install. Please verify the sitemap output on a real WPML/Polylang site<br /> before relying on it, and let us know what you find. Each URL entry can<br /> also carry <image:image> tags for its featured image and any images<br /> found in the post content (toggle in SEOGeoX > General Settings) — pulled<br /> with a lightweight regex scan, not a DOM parser, so it doesn’t add a<br /> hard dependency on an extension not every host has enabled. Two more<br /> specialized sitemaps are available, both off by default: a Google News<br /> sitemap (/sitemap-news.xml, only for sites approved as a Google News<br /> publisher — lists content published in the last 48 hours from<br /> whichever post types you choose) and a video sitemap<br /> (/sitemap-videos.xml, auto-detects self-hosted <video> tags and<br /> YouTube/Vimeo embeds already in your post content — nothing extra to<br /> fill in).<br /> A client-side, in-browser on-page analyzer with per-check pass/warn/fail<br /> reasoning (title length, description length, sentence length, passive<br /> voice, paragraph length) instead of one opaque numeric score, scored<br /> separately against every focus keyphrase you’ve added — not just one —<br /> so each gets its own title/description/content-presence and density<br /> checks. No external requests.<br /> One lean settings screen built on WordPress’s core Settings API — no<br /> bundled JS admin framework.<br /> A redirect manager (SEOGeoX > SEO Redirects): add 301/302 redirects,<br /> see hit counts and last-hit time per redirect, and get one created<br /> automatically whenever a published post or page’s URL slug changes —<br /> so old links don’t silently start 404ing. Matching is a single indexed<br /> database lookup per request, not a cached map that has to be rebuilt<br /> and unserialized on every page load. Alongside exact-path redirects,<br /> wildcard patterns are supported too — e.g. old path /blog/* to target<br /> /new-blog/$1 — checked only as a small cached fallback when the exact<br /> lookup misses, so sites without any wildcard redirects pay nothing extra.<br /> A bulk editor (SEOGeoX > SEO Bulk Editor): filter by post type, see a<br /> paginated table of posts with inline SEO title/description fields and<br /> live character counters, and save every row in one submit — instead of<br /> opening each post individually. Focus keyword, noindex, and canonical<br /> overrides already set on a post are left untouched by a bulk save. The<br /> same screen flags duplicate SEO titles and duplicate meta descriptions<br /> across every post of the filtered type — a summary list with edit<br /> links, plus a “Duplicate” badge on affected rows in the current page.<br /> A robots.txt editor (SEOGeoX > Robots.txt), using WordPress’s own<br /> virtual-robots.txt filter — no file written to disk. Prefilled with<br /> WordPress’s current effective default as a starting point, with a<br /> “Sitemap:” line added automatically when the XML sitemap is enabled.<br /> Warns when a physical robots.txt file on the server would override it,<br /> and when the site’s “discourage search engines” setting is on (custom<br /> content would override WordPress’s own blanket Disallow in that case).<br /> Redirect CSV export/import, right on the Redirects screen: export<br /> every redirect (including hit counts) as a CSV, or upload a CSV with<br /> “source”/”target” columns (an optional “type” column, 301 default) to<br /> bulk-add redirects — handy for migrating off another redirect plugin.<br /> A Yoast SEO / Rank Math data migration screen (SEOGeoX > SEO<br /> Migration): detects existing per-post titles, descriptions, focus<br /> keywords, noindex flags, and canonical URLs from either plugin and<br /> imports them in one click. Only fills posts that don’t already have<br /> SEOGeoX data — nothing already set here is overwritten. Common<br /> template variables (%%title%%, %sitename%, etc.) are resolved; anything<br /> less common is left as literal text to clean up afterward in the Bulk<br /> Editor.<br /> A 404 monitor (SEOGeoX > 404 Monitor): logs real front-end 404s<br /> (path, hit count, first/last seen), ranked by frequency, with a<br /> one-click “Add Redirect” button that opens the Redirects screen with<br /> the path pre-filled. Once a redirect exists for a logged path, it stops<br /> accumulating new hits automatically — the redirect manager catches it<br /> first. Noisy paths (wp-admin, wp-content, favicon.ico, etc.) are<br /> excluded, and the log self-prunes to the least-hit, longest-stale 5,000<br /> entries so bot scanning can’t grow it without bound.<br /> A settings export/import screen (SEOGeoX > General Settings): export the<br /> organization/logo/Twitter/sitemap/schema settings and robots.txt content<br /> as a JSON file, or upload one to apply those same settings on another<br /> site — handy for staging → production deployment. Imported data is run<br /> back through the same validation a manual save uses, not trusted as-is.<br /> Instant Indexing (SEOGeoX > Instant Indexing): pings search engines the<br /> moment a public post is published, updated, or unpublished, instead of<br /> waiting for their next crawl. IndexNow (Bing, Yandex, Seznam, Naver, and<br /> others) needs no account — just a generated key, verified by a plain-text<br /> file this plugin serves automatically — and is off by default, so nothing<br /> is sent anywhere until you turn it on in SEOGeoX > Instant Indexing. An<br /> optional Google Indexing API integration is also included, off by default<br /> and clearly flagged: Google officially restricts that API to JobPosting/<br /> BroadcastEvent pages, so using it for ordinary content isn’t sanctioned by<br /> Google even though it works in practice for many sites. Neither call ever<br /> blocks a post save — both run a few seconds later via WP-Cron, with the<br /> actual sent/failed result shown on the settings screen.<br /> Internal linking (SEOGeoX > Internal Linking, plus a new “Cornerstone<br /> content” checkbox in the meta box): an on-site internal-link graph is<br /> kept in its own small table and rebuilt whenever a post is saved. An<br /> Orphaned Content Finder lists cornerstone content with no incoming<br /> internal links from anywhere else on the site; a Stale Cornerstone<br /> Content Finder lists cornerstone content untouched for a configurable<br /> number of months. While editing a post, a “Link suggestions” panel<br /> shows other published posts worth linking to (cornerstone pages<br /> surfaced first), with a one-click “Copy link” button — the only network<br /> request this plugin’s admin JS makes anywhere, and it never leaves the<br /> site.<br /> A Role Manager (SEOGeoX > Role Manager): control which WordPress roles<br /> can see and use each of this plugin’s settings screens, and which roles<br /> can edit the “advanced” per-post fields (noindex, canonical override,<br /> cornerstone). Built on WordPress’s own capabilities system, not a<br /> separate permission layer. Defaults preserve exactly what already<br /> worked before this screen existed — screen access defaults to whichever<br /> roles already had manage_options, and advanced-field access defaults<br /> to whichever roles already had edit_posts — and any role that already<br /> has full admin access is never editable from this screen, so there’s no<br /> way to use it to lock yourself out.<br /> Google Search Console integration (SEOGeoX > Search Console):<br /> connects with a Google Cloud service account (the same auth approach<br /> the Google Indexing API integration uses) and reads Search Console’s<br /> own Search Analytics report — never by scraping live search results,<br /> which would violate Google’s terms of service. One cached report<br /> (refreshed every 6 hours) powers a sitewide clicks/impressions/CTR/<br /> position overview, a Keyword Ranking table for up to 20 tracked<br /> keywords/phrases (their real average position, clicks, impressions, and<br /> CTR, straight from Search Console), and a Top Queries table that flags<br /> queries already earning meaningful impressions but ranking past<br /> position 10 as an “Opportunity” — a keyword suggestion backed by this<br /> site’s own real search demand, not a generic volume guess.<br /> A second, independent Google Keyword Suggestion tool sits right in the<br /> meta box: a “Get keyword ideas” button next to focus keyphrases that<br /> calls Google’s own public autocomplete endpoint — the same suggestions<br /> the Google search box itself shows as you type. Off by default and<br /> flagged the same way the Google Indexing API is (it’s not a documented,<br /> supported Google API); enable it in SEOGeoX > General Settings.<br /> Only the typed keyphrase is ever sent, and results are cached for 12<br /> hours per term.<br /> Automated Image SEO: fills in missing alt text automatically and for<br /> free — from an image’s own caption or title, or a cleaned-up version of<br /> its filename (WordPress’s own resize suffix and camera-generated<br /> prefixes like “IMG_”/”DSC_” stripped) — never by looking at the image<br /> itself, so it never claims to describe what’s actually depicted. Runs<br /> once, automatically, right when an image is uploaded (only ever filling<br /> an empty alt field), and a new Image SEO screen lists every image<br /> already in the Media Library with missing alt text, with an editable<br /> suggestion for each, fixed in bulk. The on-page analyzer also now flags<br /> images in the post being edited that are missing alt text.</p> <p>Assets (JS/CSS) load only on the specific admin screen that needs them —<br /> never sitewide across wp-admin.<br /> Roadmap ideas (not yet built)<br /> Every item originally on this list — including every purely in-house<br /> batch toward RankMath Pro / Yoast Premium parity, and the Search<br /> Console / keyword ranking / keyword suggestion integrations that used to<br /> be queued here as “bring your own API key” ideas — has now been built.<br /> The only thing still queued is:</p> <p>AI-assisted title/content suggestions, using your own OpenAI/<br /> Anthropic-style API key. This is the one item that genuinely can’t be<br /> done as plain code — everything else originally queued for a<br /> “bring-your-own-API-key” integration (keyword rank tracking, a Search<br /> Console dashboard inside wp-admin) turned out to be buildable as a<br /> fully-authenticated Search Console integration instead, needing only a<br /> free Google Cloud service account rather than a paid third-party key.<br /> AI-assisted content will always be off until you supply your own<br /> credentials — this plugin will never bundle or resell access to<br /> someone else’s API.</p> <h2><span id="i-5">延伸相關外掛</span></h2> <div class="mxp-p-related"><a class="mxp-p-related-item" href="https://www.mxp.tw/plugins/wordpress-seo/"><img decoding="async" src="https://ps.w.org/wordpress-seo/assets/icon-256x256.gif?rev=3419908" alt="Yoast SEO – Advanced SEO with real-time guidance and built-in AI" width="48" height="48" loading="lazy"/><span class="mxp-p-related-info"><strong>Yoast SEO – Advanced SEO with real-time guidance and built-in AI</strong><span class="mxp-p-related-desc">Yoast SEO 是一款強大的 WordPress 外掛,提供即時 SEO 指導...</span></span></a><a class="mxp-p-related-item" href="https://www.mxp.tw/plugins/litespeed-cache/"><img decoding="async" src="https://ps.w.org/litespeed-cache/assets/icon-256x256.png?rev=2554181" alt="LiteSpeed Cache" width="48" height="48" loading="lazy"/><span class="mxp-p-related-info"><strong>LiteSpeed Cache</strong><span class="mxp-p-related-desc">LiteSpeed Cache 是一款全方位的 WordPress 網站加速外掛,提...</span></span></a><a class="mxp-p-related-item" href="https://www.mxp.tw/plugins/seo-by-rank-math/"><img decoding="async" src="https://ps.w.org/seo-by-rank-math/assets/icon.svg?rev=3438330" alt="Rank Math SEO – AI SEO Tools to Dominate SEO Rankings" width="48" height="48" loading="lazy"/><span class="mxp-p-related-info"><strong>Rank Math SEO – AI SEO Tools to Dominate SEO Rankings</strong><span class="mxp-p-related-desc">Rank Math SEO 是一款強大的 WordPress 外掛,透過 AI 驅動的...</span></span></a><a class="mxp-p-related-item" href="https://www.mxp.tw/plugins/all-in-one-seo-pack/"><img decoding="async" src="https://ps.w.org/all-in-one-seo-pack/assets/icon.svg?rev=2443290" alt="All in One SEO – AI SEO Plugin to Boost SEO Rankings & Traffic (Schema, Local SEO, Sitemap & SEO Insights)" width="48" height="48" loading="lazy"/><span class="mxp-p-related-info"><strong>All in One SEO – AI SEO Plugin to Boost SEO Rankings & Traffic (Schema, Local SEO, Sitemap & SEO Insights)</strong><span class="mxp-p-related-desc">All in One SEO 是一款完整的 WordPress SEO 外掛,結合 AI ...</span></span></a><a class="mxp-p-related-item" href="https://www.mxp.tw/plugins/google-sitemap-generator/"><img decoding="async" src="https://ps.w.org/google-sitemap-generator/assets/icon-256x256.png?rev=3701250" alt="XML Sitemap Generator for Google" width="48" height="48" loading="lazy"/><span class="mxp-p-related-info"><strong>XML Sitemap Generator for Google</strong><span class="mxp-p-related-desc">XML Sitemap Generator for Google 外掛能輕鬆生成網站的 XML...</span></span></a><a class="mxp-p-related-item" href="https://www.mxp.tw/plugins/siteseo/"><img decoding="async" src="https://ps.w.org/siteseo/assets/icon-256x256.png?rev=3015592" alt="SiteSEO – SEO Simplified" width="48" height="48" loading="lazy"/><span class="mxp-p-related-info"><strong>SiteSEO – SEO Simplified</strong><span class="mxp-p-related-desc">SiteSEO 是一款革命性的 WordPress SEO 外掛,能夠與所有佈景...</span></span></a><a class="mxp-p-related-item" href="https://www.mxp.tw/plugins/speedycache/"><img decoding="async" src="https://ps.w.org/speedycache/assets/icon-256x256.png?rev=3109188" alt="SpeedyCache – Cache, Optimization, Performance" width="48" height="48" loading="lazy"/><span class="mxp-p-related-info"><strong>SpeedyCache – Cache, Optimization, Performance</strong><span class="mxp-p-related-desc">SpeedyCache 是一款 WordPress 外掛,透過快取、壓縮及優化功...</span></span></a><a class="mxp-p-related-item" href="https://www.mxp.tw/plugins/surerank/"><img decoding="async" src="https://ps.w.org/surerank/assets/icon-256x256.jpg?rev=3320934" alt="SureRank SEO – Meta Tags, Social Preview, XML Sitemap, Schema & Open Graph" width="48" height="48" loading="lazy"/><span class="mxp-p-related-info"><strong>SureRank SEO – Meta Tags, Social Preview, XML Sitemap, Schema & Open Graph</strong><span class="mxp-p-related-desc">SureRank SEO 是一款強大且輕量的 SEO 外掛,旨在簡化搜尋引...</span></span></a><a class="mxp-p-related-item" href="https://www.mxp.tw/plugins/wp-seopress/"><img decoding="async" src="https://ps.w.org/wp-seopress/assets/icon-128x128.gif?rev=3158903" alt="SEOPress – AI SEO Plugin & On-site SEO" width="48" height="48" loading="lazy"/><span class="mxp-p-related-info"><strong>SEOPress – AI SEO Plugin & On-site SEO</strong><span class="mxp-p-related-desc">SEOPress 是一款快速且注重隱私的 WordPress SEO 外掛,專為 ...</span></span></a><a class="mxp-p-related-item" href="https://www.mxp.tw/plugins/ps-auto-sitemap/"><img decoding="async" src="https://s.w.org/plugins/geopattern-icon/ps-auto-sitemap_b97dba.svg" alt="PS Auto Sitemap" width="48" height="48" loading="lazy"/><span class="mxp-p-related-info"><strong>PS Auto Sitemap</strong><span class="mxp-p-related-desc">PS Auto Sitemap 是一個 WordPress 外掛,自動從您的 WordPre...</span></span></a><a class="mxp-p-related-item" href="https://www.mxp.tw/plugins/cloudflare/"><img decoding="async" src="https://ps.w.org/cloudflare/assets/icon-256x256.png?rev=2471183" alt="Cloudflare" width="48" height="48" loading="lazy"/><span class="mxp-p-related-info"><strong>Cloudflare</strong><span class="mxp-p-related-desc">Cloudflare 外掛透過自動平台優化(APO)技術,能將您的 Word...</span></span></a><a class="mxp-p-related-item" href="https://www.mxp.tw/plugins/autodescription/"><img decoding="async" src="https://ps.w.org/autodescription/assets/icon.svg?rev=3000376" alt="The SEO Framework – Fast, Automated, Effortless." width="48" height="48" loading="lazy"/><span class="mxp-p-related-info"><strong>The SEO Framework – Fast, Automated, Effortless.</strong><span class="mxp-p-related-desc">The SEO Framework 是一款快速、自動化且無需繁瑣設定的 SEO ...</span></span></a><a class="mxp-p-related-item" href="https://www.mxp.tw/plugins/yet-another-related-posts-plugin/"><img decoding="async" src="https://ps.w.org/yet-another-related-posts-plugin/assets/icon-256x256.png?rev=2549977" alt="YARPP – Yet Another Related Posts Plugin" width="48" height="48" loading="lazy"/><span class="mxp-p-related-info"><strong>YARPP – Yet Another Related Posts Plugin</strong><span class="mxp-p-related-desc">WordPress 相關文章外掛 Yet Another Related Posts Plugin (...</span></span></a><a class="mxp-p-related-item" href="https://www.mxp.tw/plugins/seo-simple-pack/"><img decoding="async" src="https://ps.w.org/seo-simple-pack/assets/icon.svg?rev=2795972" alt="SEO SIMPLE PACK" width="48" height="48" loading="lazy"/><span class="mxp-p-related-info"><strong>SEO SIMPLE PACK</strong><span class="mxp-p-related-desc">“SEO SIMPLE PACK”是一款非常簡單的SEO外掛程式...</span></span></a><a class="mxp-p-related-item" href="https://www.mxp.tw/plugins/schema-and-structured-data-for-wp/"><img decoding="async" src="https://ps.w.org/schema-and-structured-data-for-wp/assets/icon-256x256.png?rev=1922284" alt="Schema & Structured Data for WP & AMP" width="48" height="48" loading="lazy"/><span class="mxp-p-related-info"><strong>Schema & Structured Data for WP & AMP</strong><span class="mxp-p-related-desc">Schema & Structured Data for WP & AMP 外掛根據 Sc...</span></span></a></div> <p><script>document.addEventListener("DOMContentLoaded",function(){window.onpopstate=function(){location.href="https://www.mxp.tw/plugins/";};history.pushState({},"");});</script></p> <p><ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-slot="9308222110"></ins><script>setMxpAdClient();(adsbygoogle = window.adsbygoogle || []).push({});</script></p> </div><!-- .entry-content --> </article><!-- #post--1 --> </main><!-- #main --> </div><!-- #primary --> </div><!-- #content --> <footer id="colophon" class="site-footer"> <aside class="widget-area" role="complementary" aria-label="頁尾"> <div class="widget-column footer-widget-1"> <section id="text-3" class="widget widget_text"><h2 class="widget-title">微薄主機費來源</h2> <div class="textwidget"><p><script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><br /> <ins class="adsbygoogle" style="display:block" data-ad-slot="1291294008" data-ad-format="auto" data-full-width-responsive="true"></ins><br /> <script>setMxpAdClient(); (adsbygoogle = window.adsbygoogle || []).push({}); </script></p> </div> </section><section id="text-2" class="widget widget_text"><h2 class="widget-title">Facebook 專頁</h2> <div class="textwidget"><div class="fb-page" data-href="https://www.facebook.com/a.tech.guy" data-tabs="timeline" data-width="" data-height="70" data-small-header="true" data-adapt-container-width="true" data-hide-cover="true" data-show-facepile="false"><blockquote cite="https://www.facebook.com/a.tech.guy" class="fb-xfbml-parse-ignore"><a rel="nofollow" href="https://www.facebook.com/a.tech.guy">一介資男</a></blockquote></div></div> </section> <section id="recent-posts-4" class="widget widget_recent_entries"> <h2 class="widget-title">近期文章</h2><nav aria-label="近期文章"> <ul> <li> <a href="https://www.mxp.tw/11670/">我找到漏洞,他們找來律師:一場善意揭露卻被法律威脅的真實案例</a> </li> <li> <a href="https://www.mxp.tw/11668/">讀後筆記|Child’s Play:矽谷「高度行動者」與虛無新貴的誕生</a> </li> <li> <a href="https://www.mxp.tw/11666/">AI 自主代理人的失控一擊:從 MJ Rathbun 事件看「配置即人格」的危險</a> </li> <li> <a href="https://www.mxp.tw/11664/">清理 Git 分支的最佳偷懶法:來自 CIA 外洩文件的一行指令</a> </li> <li> <a href="https://www.mxp.tw/11662/">ggml.ai 與 Hugging Face 的正式結盟:Local AI 生態的重要里程碑</a> </li> </ul> </nav></section><section id="categories-2" class="widget widget_categories"><h2 class="widget-title">文章分類</h2><nav aria-label="文章分類"> <ul> <li class="cat-item cat-item-6"><a href="https://www.mxp.tw/category/blog%e5%a4%a7%e5%b0%8f%e4%ba%8b/">Blog大小事</a> (26) </li> <li class="cat-item cat-item-252"><a href="https://www.mxp.tw/category/facebook%e5%90%8c%e6%ad%a5%e5%82%99%e4%bb%bd/">Facebook同步備份</a> (370) </li> <li class="cat-item cat-item-2310"><a href="https://www.mxp.tw/category/hackernews-daily/">Hacker News</a> (499) </li> <li class="cat-item cat-item-12"><a href="https://www.mxp.tw/category/%e6%8a%80%e8%a1%93%e7%9b%b8%e9%97%9c/">技術相關</a> (582) <ul class='children'> <li class="cat-item cat-item-2319"><a href="https://www.mxp.tw/category/%e6%8a%80%e8%a1%93%e7%9b%b8%e9%97%9c/ai-ml/">AI 與機器學習</a> (18) </li> <li class="cat-item cat-item-2321"><a href="https://www.mxp.tw/category/%e6%8a%80%e8%a1%93%e7%9b%b8%e9%97%9c/api-integration/">API 與資料整合</a> (56) </li> <li class="cat-item cat-item-2323"><a href="https://www.mxp.tw/category/%e6%8a%80%e8%a1%93%e7%9b%b8%e9%97%9c/seo-marketing/">SEO 與網站經營</a> (10) </li> <li class="cat-item cat-item-2315"><a href="https://www.mxp.tw/category/%e6%8a%80%e8%a1%93%e7%9b%b8%e9%97%9c/wordpress/">WordPress</a> (296) <ul class='children'> <li class="cat-item cat-item-2324"><a href="https://www.mxp.tw/category/%e6%8a%80%e8%a1%93%e7%9b%b8%e9%97%9c/wordpress/woocommerce/">WooCommerce 開發</a> (108) </li> <li class="cat-item cat-item-2326"><a href="https://www.mxp.tw/category/%e6%8a%80%e8%a1%93%e7%9b%b8%e9%97%9c/wordpress/wordpress-theme/">佈景主題開發</a> (8) </li> <li class="cat-item cat-item-2325"><a href="https://www.mxp.tw/category/%e6%8a%80%e8%a1%93%e7%9b%b8%e9%97%9c/wordpress/wordpress-plugin/">外掛開發</a> (71) </li> </ul> </li> <li class="cat-item cat-item-2317"><a href="https://www.mxp.tw/category/%e6%8a%80%e8%a1%93%e7%9b%b8%e9%97%9c/server-admin/">伺服器管理</a> (121) </li> <li class="cat-item cat-item-2316"><a href="https://www.mxp.tw/category/%e6%8a%80%e8%a1%93%e7%9b%b8%e9%97%9c/programming/">程式開發</a> (149) </li> <li class="cat-item cat-item-2320"><a href="https://www.mxp.tw/category/%e6%8a%80%e8%a1%93%e7%9b%b8%e9%97%9c/database/">資料庫</a> (37) </li> <li class="cat-item cat-item-2318"><a href="https://www.mxp.tw/category/%e6%8a%80%e8%a1%93%e7%9b%b8%e9%97%9c/security/">資訊安全</a> (57) </li> <li class="cat-item cat-item-2322"><a href="https://www.mxp.tw/category/%e6%8a%80%e8%a1%93%e7%9b%b8%e9%97%9c/dev-tools/">開發工具與環境</a> (42) </li> </ul> </li> <li class="cat-item cat-item-19"><a href="https://www.mxp.tw/category/%e6%94%9d%e5%bd%b1%e7%9b%b8%e9%97%9c/">攝影相關</a> (5) </li> <li class="cat-item cat-item-8"><a href="https://www.mxp.tw/category/%e6%96%b0%e8%81%9e%e8%b3%87%e8%a8%8a/">新聞資訊</a> (239) </li> <li class="cat-item cat-item-60"><a href="https://www.mxp.tw/category/temperature/">有溫度的文字</a> (72) </li> <li class="cat-item cat-item-1"><a href="https://www.mxp.tw/category/uncategorized/">未分類</a> (1) </li> </ul> </nav></section><section id="tag_cloud-3" class="widget widget_tag_cloud"><h2 class="widget-title">常用標籤</h2><nav aria-label="常用標籤"><div class="tagcloud"><a href="https://www.mxp.tw/tag/api/" class="tag-cloud-link tag-link-17 tag-link-position-1" style="font-size: 12.905109489051pt;" aria-label="API (42 個項目)">API</a> <a href="https://www.mxp.tw/tag/blog%e5%a4%a7%e5%b0%8f%e4%ba%8b/" class="tag-cloud-link tag-link-670 tag-link-position-2" style="font-size: 9.1240875912409pt;" aria-label="Blog大小事 (17 個項目)">Blog大小事</a> <a href="https://www.mxp.tw/tag/chrome/" class="tag-cloud-link tag-link-13 tag-link-position-3" style="font-size: 8.5109489051095pt;" aria-label="Chrome (15 個項目)">Chrome</a> <a href="https://www.mxp.tw/tag/docker/" class="tag-cloud-link tag-link-117 tag-link-position-4" style="font-size: 11.372262773723pt;" aria-label="Docker (29 個項目)">Docker</a> <a href="https://www.mxp.tw/tag/erp/" class="tag-cloud-link tag-link-1402 tag-link-position-5" style="font-size: 9.9416058394161pt;" aria-label="ERP (21 個項目)">ERP</a> <a href="https://www.mxp.tw/tag/facebook/" class="tag-cloud-link tag-link-219 tag-link-position-6" style="font-size: 16.07299270073pt;" aria-label="Facebook (86 個項目)">Facebook</a> <a href="https://www.mxp.tw/tag/facebook%e5%90%8c%e6%ad%a5/" class="tag-cloud-link tag-link-644 tag-link-position-7" style="font-size: 8.8175182481752pt;" aria-label="Facebook同步 (16 個項目)">Facebook同步</a> <a href="https://www.mxp.tw/tag/fb2wp/" class="tag-cloud-link tag-link-248 tag-link-position-8" style="font-size: 8.3065693430657pt;" aria-label="FB2WP (14 個項目)">FB2WP</a> <a href="https://www.mxp.tw/tag/google/" class="tag-cloud-link tag-link-80 tag-link-position-9" style="font-size: 12.496350364964pt;" aria-label="Google (38 個項目)">Google</a> <a href="https://www.mxp.tw/tag/https/" class="tag-cloud-link tag-link-90 tag-link-position-10" style="font-size: 9.5328467153285pt;" aria-label="HTTPS (19 個項目)">HTTPS</a> <a href="https://www.mxp.tw/tag/idempiere/" class="tag-cloud-link tag-link-1598 tag-link-position-11" style="font-size: 10.14598540146pt;" aria-label="iDempiere (22 個項目)">iDempiere</a> <a href="https://www.mxp.tw/tag/javascript/" class="tag-cloud-link tag-link-15 tag-link-position-12" style="font-size: 10.861313868613pt;" aria-label="JavaScript (26 個項目)">JavaScript</a> <a href="https://www.mxp.tw/tag/linux/" class="tag-cloud-link tag-link-65 tag-link-position-13" style="font-size: 9.5328467153285pt;" aria-label="Linux (19 個項目)">Linux</a> <a href="https://www.mxp.tw/tag/mac/" class="tag-cloud-link tag-link-115 tag-link-position-14" style="font-size: 10.14598540146pt;" aria-label="Mac (22 個項目)">Mac</a> <a href="https://www.mxp.tw/tag/mysql/" class="tag-cloud-link tag-link-39 tag-link-position-15" style="font-size: 11.474452554745pt;" aria-label="MySQL (30 個項目)">MySQL</a> <a href="https://www.mxp.tw/tag/nginx/" class="tag-cloud-link tag-link-36 tag-link-position-16" style="font-size: 11.678832116788pt;" aria-label="Nginx (31 個項目)">Nginx</a> <a href="https://www.mxp.tw/tag/nodejs/" class="tag-cloud-link tag-link-96 tag-link-position-17" style="font-size: 8.8175182481752pt;" aria-label="NodeJS (16 個項目)">NodeJS</a> <a href="https://www.mxp.tw/tag/php/" class="tag-cloud-link tag-link-34 tag-link-position-18" style="font-size: 16.788321167883pt;" aria-label="PHP (102 個項目)">PHP</a> <a href="https://www.mxp.tw/tag/plugin/" class="tag-cloud-link tag-link-4 tag-link-position-19" style="font-size: 10.656934306569pt;" aria-label="Plugin (25 個項目)">Plugin</a> <a href="https://www.mxp.tw/tag/seo/" class="tag-cloud-link tag-link-81 tag-link-position-20" style="font-size: 8.8175182481752pt;" aria-label="SEO (16 個項目)">SEO</a> <a href="https://www.mxp.tw/tag/ssl/" class="tag-cloud-link tag-link-89 tag-link-position-21" style="font-size: 8.5109489051095pt;" aria-label="SSL (15 個項目)">SSL</a> <a href="https://www.mxp.tw/tag/ubuntu/" class="tag-cloud-link tag-link-46 tag-link-position-22" style="font-size: 12.802919708029pt;" aria-label="Ubuntu (41 個項目)">Ubuntu</a> <a href="https://www.mxp.tw/tag/vps/" class="tag-cloud-link tag-link-48 tag-link-position-23" style="font-size: 12.905109489051pt;" aria-label="VPS (42 個項目)">VPS</a> <a href="https://www.mxp.tw/tag/woocommerce/" class="tag-cloud-link tag-link-449 tag-link-position-24" style="font-size: 17.197080291971pt;" aria-label="WooCommerce (110 個項目)">WooCommerce</a> <a href="https://www.mxp.tw/tag/wordpress/" class="tag-cloud-link tag-link-3 tag-link-position-25" style="font-size: 22pt;" aria-label="WordPress (331 個項目)">WordPress</a> <a href="https://www.mxp.tw/tag/%e4%bc%81%e6%a5%ad%e7%ae%a1%e7%90%86%e7%b3%bb%e7%b5%b1/" class="tag-cloud-link tag-link-2334 tag-link-position-26" style="font-size: 8pt;" aria-label="企業管理系統 (13 個項目)">企業管理系統</a> <a href="https://www.mxp.tw/tag/%e4%bc%ba%e6%9c%8d%e5%99%a8/" class="tag-cloud-link tag-link-52 tag-link-position-27" style="font-size: 9.1240875912409pt;" aria-label="伺服器 (17 個項目)">伺服器</a> <a href="https://www.mxp.tw/tag/%e5%a4%96%e6%8e%9b/" class="tag-cloud-link tag-link-42 tag-link-position-28" style="font-size: 14.233576642336pt;" aria-label="外掛 (56 個項目)">外掛</a> <a href="https://www.mxp.tw/tag/%e5%a4%96%e6%8e%9b%e9%96%8b%e7%99%bc/" class="tag-cloud-link tag-link-664 tag-link-position-29" style="font-size: 11.474452554745pt;" aria-label="外掛開發 (30 個項目)">外掛開發</a> <a href="https://www.mxp.tw/tag/%e5%ae%89%e5%85%a8%e6%80%a7/" class="tag-cloud-link tag-link-51 tag-link-position-30" style="font-size: 9.9416058394161pt;" aria-label="安全性 (21 個項目)">安全性</a> <a href="https://www.mxp.tw/tag/%e5%ae%a2%e8%a3%bd%e5%8c%96/" class="tag-cloud-link tag-link-614 tag-link-position-31" style="font-size: 8.8175182481752pt;" aria-label="客製化 (16 個項目)">客製化</a> <a href="https://www.mxp.tw/tag/%e5%b7%a5%e5%85%b7/" class="tag-cloud-link tag-link-281 tag-link-position-32" style="font-size: 8.8175182481752pt;" aria-label="工具 (16 個項目)">工具</a> <a href="https://www.mxp.tw/tag/%e5%bf%83%e5%be%97/" class="tag-cloud-link tag-link-172 tag-link-position-33" style="font-size: 11.167883211679pt;" aria-label="心得 (28 個項目)">心得</a> <a href="https://www.mxp.tw/tag/%e6%8a%80%e8%a1%93%e7%9b%b8%e9%97%9c/" class="tag-cloud-link tag-link-660 tag-link-position-34" style="font-size: 16.890510948905pt;" aria-label="技術相關 (104 個項目)">技術相關</a> <a href="https://www.mxp.tw/tag/%e6%95%99%e5%ad%b8/" class="tag-cloud-link tag-link-294 tag-link-position-35" style="font-size: 15.153284671533pt;" aria-label="教學 (70 個項目)">教學</a> <a href="https://www.mxp.tw/tag/%e6%96%b0%e8%81%9e%e8%b3%87%e8%a8%8a/" class="tag-cloud-link tag-link-671 tag-link-position-36" style="font-size: 19.036496350365pt;" aria-label="新聞資訊 (168 個項目)">新聞資訊</a> <a href="https://www.mxp.tw/tag/%e6%9c%89%e6%ba%ab%e5%ba%a6%e7%9a%84%e6%96%87%e5%ad%97/" class="tag-cloud-link tag-link-746 tag-link-position-37" style="font-size: 14.335766423358pt;" aria-label="有溫度的文字 (58 個項目)">有溫度的文字</a> <a href="https://www.mxp.tw/tag/%e6%a9%9f%e5%99%a8%e4%ba%ba/" class="tag-cloud-link tag-link-534 tag-link-position-38" style="font-size: 8.5109489051095pt;" aria-label="機器人 (15 個項目)">機器人</a> <a href="https://www.mxp.tw/tag/%e7%a8%8b%e5%bc%8f%e9%96%8b%e7%99%bc/" class="tag-cloud-link tag-link-1590 tag-link-position-39" style="font-size: 11.372262773723pt;" aria-label="程式開發 (29 個項目)">程式開發</a> <a href="https://www.mxp.tw/tag/%e7%ad%86%e8%a8%98/" class="tag-cloud-link tag-link-514 tag-link-position-40" style="font-size: 8.3065693430657pt;" aria-label="筆記 (14 個項目)">筆記</a> <a href="https://www.mxp.tw/tag/%e7%b6%93%e7%87%9f/" class="tag-cloud-link tag-link-702 tag-link-position-41" style="font-size: 10.656934306569pt;" aria-label="經營 (25 個項目)">經營</a> <a href="https://www.mxp.tw/tag/%e7%b6%b2%e7%ab%99%e9%96%8b%e7%99%bc/" class="tag-cloud-link tag-link-551 tag-link-position-42" style="font-size: 11.985401459854pt;" aria-label="網站開發 (34 個項目)">網站開發</a> <a href="https://www.mxp.tw/tag/%e8%b3%87%e6%96%99%e5%ba%ab/" class="tag-cloud-link tag-link-1043 tag-link-position-43" style="font-size: 8pt;" aria-label="資料庫 (13 個項目)">資料庫</a> <a href="https://www.mxp.tw/tag/%e9%96%8b%e6%ba%90erp/" class="tag-cloud-link tag-link-2335 tag-link-position-44" style="font-size: 8.5109489051095pt;" aria-label="開源ERP (15 個項目)">開源ERP</a> <a href="https://www.mxp.tw/tag/%e9%96%8b%e7%99%bc/" class="tag-cloud-link tag-link-479 tag-link-position-45" style="font-size: 11.678832116788pt;" aria-label="開發 (31 個項目)">開發</a></div> </nav></section><section id="custom_html-2" class="widget_text widget widget_custom_html"><div class="textwidget custom-html-widget"><script type="text/javascript"> google_ad_client = "ca-pub-1939980533457134"; /*google_ad_host = "ca-host-pub-7449992691305813";    google_ad_host_channel = "2031107259";*/ google_ad_slot = "1291294008"; google_ad_format = "auto"; if (!(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent))) { google_ad_width = 300; google_ad_height = 250; }else{ google_ad_width = 300; google_ad_height = 600; } </script> <!-- mxp-sidebar-auto_320x250 --> <script type="text/javascript" src="//pagead2.googlesyndication.com/pagead/show_ads.js"> </script></div></section> </div> </aside><!-- .widget-area --> <div class="site-info"> <a class="site-name" href="https://www.mxp.tw/" rel="home">一介資男</a>, <a rel="nofollow" href="https://tw.wordpress.org/" class="imprint"> 本站採用 WordPress 建置 </a> <nav class="footer-navigation" aria-label="頁尾選單"> <div class="menu-links-container"><ul id="menu-links" class="footer-menu"><li id="menu-item-7040" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-7040"><a rel="nofollow" href="https://www.facebook.com/a.tech.guy">Facebook</a></li> <li id="menu-item-7041" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-7041"><a rel="nofollow" href="https://github.com/nczz">GitHub</a></li> <li id="menu-item-9302" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-9302"><a href="https://www.mxp.tw/statement-policy/">使用者條款與隱私權聲明</a></li> </ul></div> </nav><!-- .footer-navigation --> </div><!-- .site-info --> </footer><!-- #colophon --> </div><!-- #page --> <script type="speculationrules"> {"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/mxp_tw/*","/wp-content/themes/twentynineteen/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} </script> <script type="text/html" id="tmpl-cmswt-Result-itemTemplate--default"> <# if(data.taxonomy === undefined){ #> <div class="hit-header"> <# var imageHTML = ''; if(data.post_thumbnail_html !== undefined && data.post_thumbnail_html !== ''){ imageHTML = data.post_thumbnail_html }else if(data.post_thumbnail !== undefined && data.post_thumbnail !== ''){ imageHTML = `<img src="${data.post_thumbnail}" alt="${data.post_title}" class="ais-Hit-itemImage" />` } else{ imageHTML = `<img src="https://www.mxp.tw/wp-content/plugins/search-with-typesense/assets/images/placeholder-300x300.jpg" alt="${data.post_title}" class="ais-Hit-itemImage" />` } #> <# if(imageHTML !== ''){ #> <a href="{{{data._highlightResult.permalink.value}}}" class="hit-header--link" rel="nofollow noopener">{{{imageHTML}}}</a> <# } #> </div> <# } #> <div class="hit-content"> <# if(data._highlightResult.permalink !== undefined ) { #> <a href="{{{data._highlightResult.permalink.value}}}" class="hit-contentLink" rel="nofollow noopener"><h5 class="title"> {{{data.formatted.post_title}}}</h5></a> <# } #> <# if( data.post_type === 'post' ) { #> <div class="hit-meta"> <span class="posted-by"> By {{data.post_author}} </span> <span class="posted-on"> <time datetime="">{{data.formatted.postedDate}}</time> </span> <# if ( Object.keys(data.formatted.cats).length > 0 ) { #> <div class="hit-cats"> <# for ( let key in data.formatted.cats ) { #> <div class="hit-cat"><a rel="nofollow" href="{{{data.formatted.cats[key]}}}">{{{key}}}</a>,</div> <# } #> </div> <# } #> </div> <# } #> <div class="hit-description">{{{data.formatted.post_content}}}</div> <div class="hit-link"> <a rel="nofollow" href="{{data.permalink}}">Read More...</a> </div> </div> </script><script type="text/html" id="tmpl-cmswt-NoSearchResults-default"> <div class="cmswt-noSearchResults cmswt-NoSearchResults-default"> No results found </div> </script><script type="text/html" id="tmpl-cm-autocomplete"> <div class="aa-ItemWrapper"> <div class="aa-ItemContent"> <div class="aa-ItemIcon aa-ItemIcon--alignTop"> <# if ( data.document.post_thumbnail !== '' && data.document.post_thumbnail !== undefined ) { #> <img src="{{{data.document.post_thumbnail}}}" alt="{{data.document.post_title}}" width="40" height="40" /> <# } else { #> <img src="https://www.mxp.tw/wp-content/plugins/search-with-typesense/assets/placeholder.jpg" alt="{{data.document.post_title}}" width="40" height="40" /> <# } #> </div> <div class="aa-ItemContentBody"> <div class="aa-ItemContentTitle"> {{{data.formatted.post_title}}} </div> <div class="aa-ItemContentDescription"> {{data.formatted.sliced_content}} </div> </div> </div> </div> </script><script type="text/html" id="tmpl-cm-autocomplete-header"> <h5>{{{data.name}}}</h5> </script><script type="text/html" id="tmpl-cm-autocomplete-no-results-found">No Results Found</script> <style> .ais-Highlight-highlighted, .ais-Snippet-highlighted, .hit-description mark { background-color: #ffc168 } </style> <div class="cmswt-InstantSearchPopup"> <div class="cmswt-InstantSearchPopup--results"> <a href="#" class="cmswt-InstantSearchPopup--closeIcon" title="close"> <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"> <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"/> </svg> </a> <div class="cmswt-InstantSearch ais-InstantSearch cm_swt_instant_search_1 single-source" data-id="cm_swt_instant_search_1" data-config="{"filter":"show","post_types":["post"],"per_page":"4","pagination":"infinite","sortby":"show","columns":"1","placeholder":"Search for...","query_by":"post_title,post_content","sticky_first":"no","custom_class":"","search_query":"","selected_filters":"hide","stats":"hide","routing":"disable","unique_id":"cm_swt_instant_search_1","collections":["post"]}" data-facets="[]" data-placeholder="Search for..." data-query_by="post_title,post_content" data-sticky_first="no" data-additional_search_params="[]" data-search_query="" data-additional_config="[]" data-routing="disable" > <div class="cmswt-InstantSearch-overlay cmswt-FilterPanel-itemsClose"></div> <div class="cmswt-Header"> <div class="cmswt-SearchBox" data-settings="[]" ></div><div class="cmswt-CollectionMenu cmswt-CollectionMenu--singleSource"> <div class="cmswt-CollectionMenu-current"> <span class="cmswt-CollectionMenu-currentLabel">文章</span> <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6 cmswt-CollectionMenu-icon" width="24" height="25" viewBox="0 0 24 25" fill="none"> <path d="M9 5.50001C8.73478 5.50001 8.48043 5.60537 8.29289 5.7929C8.10536 5.98044 8 6.23479 8 6.50001C8 6.76523 8.10536 7.01958 8.29289 7.20712C8.48043 7.39465 8.73478 7.50001 9 7.50001C9.26522 7.50001 9.51957 7.39465 9.70711 7.20712C9.89464 7.01958 10 6.76523 10 6.50001C10 6.23479 9.89464 5.98044 9.70711 5.7929C9.51957 5.60537 9.26522 5.50001 9 5.50001ZM6.17 5.50001C6.3766 4.91448 6.75974 4.40744 7.2666 4.0488C7.77346 3.69015 8.37909 3.49756 9 3.49756C9.62091 3.49756 10.2265 3.69015 10.7334 4.0488C11.2403 4.40744 11.6234 4.91448 11.83 5.50001H19C19.2652 5.50001 19.5196 5.60537 19.7071 5.7929C19.8946 5.98044 20 6.23479 20 6.50001C20 6.76523 19.8946 7.01958 19.7071 7.20712C19.5196 7.39465 19.2652 7.50001 19 7.50001H11.83C11.6234 8.08554 11.2403 8.59258 10.7334 8.95122C10.2265 9.30986 9.62091 9.50246 9 9.50246C8.37909 9.50246 7.77346 9.30986 7.2666 8.95122C6.75974 8.59258 6.3766 8.08554 6.17 7.50001H5C4.73478 7.50001 4.48043 7.39465 4.29289 7.20712C4.10536 7.01958 4 6.76523 4 6.50001C4 6.23479 4.10536 5.98044 4.29289 5.7929C4.48043 5.60537 4.73478 5.50001 5 5.50001H6.17ZM15 11.5C14.7348 11.5 14.4804 11.6054 14.2929 11.7929C14.1054 11.9804 14 12.2348 14 12.5C14 12.7652 14.1054 13.0196 14.2929 13.2071C14.4804 13.3947 14.7348 13.5 15 13.5C15.2652 13.5 15.5196 13.3947 15.7071 13.2071C15.8946 13.0196 16 12.7652 16 12.5C16 12.2348 15.8946 11.9804 15.7071 11.7929C15.5196 11.6054 15.2652 11.5 15 11.5ZM12.17 11.5C12.3766 10.9145 12.7597 10.4074 13.2666 10.0488C13.7735 9.69015 14.3791 9.49756 15 9.49756C15.6209 9.49756 16.2265 9.69015 16.7334 10.0488C17.2403 10.4074 17.6234 10.9145 17.83 11.5H19C19.2652 11.5 19.5196 11.6054 19.7071 11.7929C19.8946 11.9804 20 12.2348 20 12.5C20 12.7652 19.8946 13.0196 19.7071 13.2071C19.5196 13.3947 19.2652 13.5 19 13.5H17.83C17.6234 14.0855 17.2403 14.5926 16.7334 14.9512C16.2265 15.3099 15.6209 15.5025 15 15.5025C14.3791 15.5025 13.7735 15.3099 13.2666 14.9512C12.7597 14.5926 12.3766 14.0855 12.17 13.5H5C4.73478 13.5 4.48043 13.3947 4.29289 13.2071C4.10536 13.0196 4 12.7652 4 12.5C4 12.2348 4.10536 11.9804 4.29289 11.7929C4.48043 11.6054 4.73478 11.5 5 11.5H12.17ZM9 17.5C8.73478 17.5 8.48043 17.6054 8.29289 17.7929C8.10536 17.9804 8 18.2348 8 18.5C8 18.7652 8.10536 19.0196 8.29289 19.2071C8.48043 19.3947 8.73478 19.5 9 19.5C9.26522 19.5 9.51957 19.3947 9.70711 19.2071C9.89464 19.0196 10 18.7652 10 18.5C10 18.2348 9.89464 17.9804 9.70711 17.7929C9.51957 17.6054 9.26522 17.5 9 17.5ZM6.17 17.5C6.3766 16.9145 6.75974 16.4074 7.2666 16.0488C7.77346 15.6902 8.37909 15.4976 9 15.4976C9.62091 15.4976 10.2265 15.6902 10.7334 16.0488C11.2403 16.4074 11.6234 16.9145 11.83 17.5H19C19.2652 17.5 19.5196 17.6054 19.7071 17.7929C19.8946 17.9804 20 18.2348 20 18.5C20 18.7652 19.8946 19.0196 19.7071 19.2071C19.5196 19.3947 19.2652 19.5 19 19.5H11.83C11.6234 20.0855 11.2403 20.5926 10.7334 20.9512C10.2265 21.3099 9.62091 21.5025 9 21.5025C8.37909 21.5025 7.77346 21.3099 7.2666 20.9512C6.75974 20.5926 6.3766 20.0855 6.17 19.5H5C4.73478 19.5 4.48043 19.3947 4.29289 19.2071C4.10536 19.0196 4 18.7652 4 18.5C4 18.2348 4.10536 17.9804 4.29289 17.7929C4.48043 17.6054 4.73478 17.5 5 17.5H6.17Z" fill="#696969"/> </svg> </div> <ul class="cmswt-IndexSwitcher"> <li class="cmswt-IndexSwitcher-item active"> <a href="#" class="cmswt-IndexSwitcher-link" data-instance_id="cm_swt_instant_search_1" data-collection="post"> 文章 </a> </li> </ul> </div><div class="cmswt-FilterPanel-toggle"> <span class="cmswt-FilterPanel-toggleLabel"> Filter </span> <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6 cmswt-FilterPanel-toggleIcon" width="20" height="21" viewBox="0 0 20 21" fill="none"> <path d="M2.1875 2.6875H17.8125V4.5625L11.5625 11.4375V16.4375L8.4375 18.3125V11.4375L2.1875 4.5625V2.6875Z" stroke="#696969" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> </svg> </div> <div class="cmswt-Sort"> <div class="cmswt-SortBy cmswt-SortBy-post" data-settings="{"items":[{"label":"Recent","value":"post"},{"label":"Oldest","value":"post\/sort\/sort_by_date:asc"}]}" ></div> </div></div><div class="cmswt-MainPanel"> <div class="cmswt-Results"> <div class="cmswt-Result cmswt-Result-post"> <div class="cmswt-Result-hits cmswt-Result-hits_post"></div><div class="cmswt-Pagination cmswt-Pagination-post cmswt-Pagination--infinite"></div> </div> </div> </div></div> </div> </div> <style>.grecaptcha-badge{ visibility: collapse !important; }</style><style> ins.adsbygoogle[data-ad-status="unfilled"] { display: none !important; } </style> <a style="display:none;" rel="me nofollow" href="https://hcchiang.com/@hi">Mastodon</a> <script type="application/ld+json" id="slim-seo-schema">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://www.mxp.tw/#website","url":"https://www.mxp.tw/","name":"一介資男","description":"WordPress 開發者 & iDempiere ERP 顧問 — 分享 Web 開發、伺服器管理、資安與開源 ERP 實戰經驗","inLanguage":"zh-TW","potentialAction":{"@id":"https://www.mxp.tw/#searchaction"},"publisher":{"@id":"https://www.mxp.tw/#person"}},{"@type":"SearchAction","@id":"https://www.mxp.tw/#searchaction","target":"https://www.mxp.tw/?s={search_term_string}","query-input":"required name=search_term_string"},{"@type":"BreadcrumbList","name":"導覽標記","@id":"https://www.mxp.tw/plugins/seogeox/#breadcrumblist","itemListElement":[{"@type":"ListItem","position":1,"name":"首頁","item":"https://www.mxp.tw/"},{"@type":"ListItem","position":2,"name":"[WordPress] 外掛分享: SEOGeoX"}]},{"@type":"WebPage","@id":"https://www.mxp.tw/plugins/seogeox/#webpage","url":"https://www.mxp.tw/plugins/seogeox/","inLanguage":"zh-TW","name":"SEOGeoX — WordPress 外掛中文介紹","description":"SEOGeoX 是一款輕量級且快速的 SEO 外掛,旨在以更低的管理負擔和透明的評分模型,提供與 Yoast 和 RankMath 相同的核心功能。它內建的本地 SEO 工具包可協助優化...","datePublished":"2026-10-16T05:35:30+08:00","dateModified":"-001-11-30T08:06:00+08:06","isPartOf":{"@id":"https://www.mxp.tw/#website"},"breadcrumb":{"@id":"https://www.mxp.tw/plugins/seogeox/#breadcrumblist"},"potentialAction":{"@id":"https://www.mxp.tw/plugins/seogeox/#readaction"},"primaryImageOfPage":{"@id":"https://www.mxp.tw/plugins/seogeox/#thumbnail"},"image":{"@id":"https://www.mxp.tw/plugins/seogeox/#thumbnail"}},{"@type":"ReadAction","@id":"https://www.mxp.tw/plugins/seogeox/#readaction","target":"https://www.mxp.tw/plugins/seogeox/"},{"@type":"Person","@id":"https://www.mxp.tw/#person","name":"Chun","alternateName":"一介資男","url":"https://www.mxp.tw/","description":"WordPress 社群貢獻者、開源社群推廣者。專注於 WordPress 外掛開發、網站效能最佳化、伺服器管理,以及 iDempiere 開源 ERP 導入與客製開發。","image":{"@type":"ImageObject","@id":"https://www.mxp.tw/#personimage","url":"https://www.mxp.tw/wp-content/uploads/2019/06/cropped-竣大頭貼.png","contentUrl":"https://www.mxp.tw/wp-content/uploads/2019/06/cropped-竣大頭貼.png","width":190,"height":190},"sameAs":["https://github.com/nczz/","https://profiles.wordpress.org/mxp/","https://www.facebook.com/mxp.tw","https://hcchiang.com/@hi"],"jobTitle":"WordPress 開發者 / iDempiere ERP 顧問","knowsAbout":["WordPress","PHP","Web Development","Server Administration","Open Source","iDempiere","ERP","Java"]},{"@type":"ImageObject","@id":"https://www.mxp.tw/plugins/seogeox/#thumbnail","url":"https://ps.w.org/wordpress-seo/assets/icon-256x256.gif?rev=3419908"},{"@type":"SoftwareApplication","name":"SEOGeoX","description":"SEOGeoX 是一款輕量級且快速的 SEO 外掛,旨在以更低的管理負擔和透明的評分模型,提供與 Yoast 和 RankMath 相同的核心功能。它內建的本地 SEO 工具包可協助優化...","applicationCategory":"WordPress Plugin","operatingSystem":"WordPress","url":"https://www.mxp.tw/plugins/seogeox/","installUrl":"https://tw.wordpress.org/plugins/seogeox/","image":"https://s.w.org/plugins/geopattern-icon/seogeox.svg","offers":{"@type":"Offer","price":"0","priceCurrency":"TWD"},"softwareVersion":"1.0.5","downloadUrl":"https://downloads.wordpress.org/plugin/seogeox.1.0.5.zip","aggregateRating":{"@type":"AggregateRating","ratingValue":"5","bestRating":"5","ratingCount":"1"},"softwareRequirements":"WordPress 6.0+, PHP 7.4+","author":{"@type":"Person","name":"softnikasolutions","url":"https://profiles.wordpress.org/softnikasolutions/"}}]}</script> <script id="module-prism-line-number"> (function($) { $(function() { $("code").each(function() { var parent_div = $(this).parent("pre"); var pre_css = $(this).attr("class"); if (typeof pre_css !== "undefined" && -1 !== pre_css.indexOf("language-")) { parent_div.addClass("line-numbers"); } }); }); })(jQuery); </script> <script id="module-clipboard"> (function($) { $(function() { var pre = document.getElementsByTagName("pre"); var pasteContent = document.getElementById("paste-content"); var hasLanguage = false; for (var i = 0; i < pre.length; i++) { var codeClass = pre[i].children[0].className; var isLanguage = codeClass.indexOf("language-"); var excludedCodeClassNames = [ "language-katex", "language-seq", "language-sequence", "language-flow", "language-flowchart", "language-mermaid", ]; var isExcluded = excludedCodeClassNames.indexOf(codeClass); if (isExcluded !== -1) { isLanguage = -1; } if (isLanguage !== -1) { var current_pre = pre[i]; var parent = current_pre.parentNode; var div = document.createElement("div"); div.style['position'] = 'relative'; parent.replaceChild(div, current_pre); var button = document.createElement("button"); button.className = "copy-button"; button.textContent = "Copy"; div.appendChild(current_pre); div.appendChild(button); hasLanguage = true; } }; if (hasLanguage) { var copyCode = new ClipboardJS(".copy-button", { target: function(trigger) { return trigger.previousElementSibling; } }); copyCode.on("success", function(event) { event.clearSelection(); event.trigger.textContent = "Copied"; window.setTimeout(function() { event.trigger.textContent = "Copy"; }, 2000); }); } }); })(jQuery); </script> <script id="avc_frontend-js-extra"> var AdRefreshControl = {"advertiserIds":[],"lineItemIds":[],"sizesToExclude":["fluid"],"slotIdsToExclude":[],"viewabilityThreshold":"50","refreshInterval":"30","maximumRefreshes":"12","refreshCallback":""}; //# sourceURL=avc_frontend-js-extra </script> <script id="avc_frontend-js" defer src="https://www.mxp.tw/wp-content/plugins/ad-refresh-control/dist/js/frontend.js"></script> <script id="code-prettify-js-before"> var codePrettifyLoaderBaseUrl = "https:\/\/www.mxp.tw\/wp-content\/plugins\/code-prettify\/prettify"; //# sourceURL=code-prettify-js-before </script> <script id="code-prettify-js" defer src="https://www.mxp.tw/wp-content/plugins/code-prettify/prettify/run_prettify.js"></script> <script id="toc-front-js-extra"> var tocplus = {"smooth_scroll":"1","visibility_show":"\u986f\u793a","visibility_hide":"\u96b1\u85cf","width":"Auto"}; //# sourceURL=toc-front-js-extra </script> <script id="toc-front-js" defer src="https://www.mxp.tw/wp-content/plugins/table-of-contents-plus/front.min.js"></script> <script data-wp-strategy="defer" defer id="twentynineteen-touch-navigation-js" src="https://www.mxp.tw/wp-content/themes/twentynineteen/js/touch-keyboard-navigation.js"></script> <script id="clipboard-js" defer src="https://www.mxp.tw/wp-includes/js/clipboard.min.js"></script> <script id="heartbeat-js" src="https://www.mxp.tw/wp-content/plugins/wp-rocket/assets/js/heartbeat.js"></script> <script id="regenerator-runtime-js" defer src="https://www.mxp.tw/wp-includes/js/dist/vendor/regenerator-runtime.min.js"></script> <script id="moment-js" src="https://www.mxp.tw/wp-includes/js/dist/vendor/moment.min.js"></script> <script id="moment-js-after"> moment.updateLocale( 'zh_TW', {"months":["1 \u6708","2 \u6708","3 \u6708","4 \u6708","5 \u6708","6 \u6708","7 \u6708","8 \u6708","9 \u6708","10 \u6708","11 \u6708","12 \u6708"],"monthsShort":["1 \u6708","2 \u6708","3 \u6708","4 \u6708","5 \u6708","6 \u6708","7 \u6708","8 \u6708","9 \u6708","10 \u6708","11 \u6708","12 \u6708"],"weekdays":["\u661f\u671f\u65e5","\u661f\u671f\u4e00","\u661f\u671f\u4e8c","\u661f\u671f\u4e09","\u661f\u671f\u56db","\u661f\u671f\u4e94","\u661f\u671f\u516d"],"weekdaysShort":["\u9031\u65e5","\u9031\u4e00","\u9031\u4e8c","\u9031\u4e09","\u9031\u56db","\u9031\u4e94","\u9031\u516d"],"week":{"dow":1},"longDateFormat":{"LT":"H:i:s","LTS":null,"L":null,"LL":"Y/m/d","LLL":"Y \u5e74 n \u6708 j \u65e5a g:i","LLLL":null}} ); //# sourceURL=moment-js-after </script> <script id="wp-hooks-js" src="https://www.mxp.tw/wp-includes/js/dist/hooks.min.js"></script> <script id="wp-deprecated-js" src="https://www.mxp.tw/wp-includes/js/dist/deprecated.min.js"></script> <script id="wp-date-js" src="https://www.mxp.tw/wp-includes/js/dist/date.min.js"></script> <script id="wp-date-js-after"> wp.date.setSettings( {"l10n":{"locale":"zh_TW","months":["1 \u6708","2 \u6708","3 \u6708","4 \u6708","5 \u6708","6 \u6708","7 \u6708","8 \u6708","9 \u6708","10 \u6708","11 \u6708","12 \u6708"],"monthsShort":["1 \u6708","2 \u6708","3 \u6708","4 \u6708","5 \u6708","6 \u6708","7 \u6708","8 \u6708","9 \u6708","10 \u6708","11 \u6708","12 \u6708"],"weekdays":["\u661f\u671f\u65e5","\u661f\u671f\u4e00","\u661f\u671f\u4e8c","\u661f\u671f\u4e09","\u661f\u671f\u56db","\u661f\u671f\u4e94","\u661f\u671f\u516d"],"weekdaysShort":["\u9031\u65e5","\u9031\u4e00","\u9031\u4e8c","\u9031\u4e09","\u9031\u56db","\u9031\u4e94","\u9031\u516d"],"meridiem":{"am":"\u4e0a\u5348","pm":"\u4e0b\u5348","AM":"\u4e0a\u5348","PM":"\u4e0b\u5348"},"relative":{"future":"%s\u5f8c","past":"%s\u524d","s":"1 \u79d2","ss":"%d \u79d2","m":"1 \u5206\u9418","mm":"%d \u5206\u9418","h":"1 \u5c0f\u6642","hh":"%d \u5c0f\u6642","d":"1 \u5929","dd":"%d \u5929","M":"1 \u500b\u6708","MM":"%d \u500b\u6708","y":"1 \u5e74","yy":"%d \u5e74"},"startOfWeek":1},"formats":{"time":"H:i:s","date":"Y/m/d","datetime":"Y \u5e74 n \u6708 j \u65e5a g:i","datetimeAbbreviated":"Y \u5e74 n \u6708 j \u65e5a g:i"},"timezone":{"offset":8,"offsetFormatted":"8","string":"Asia/Taipei","abbr":"CST"}} ); //# sourceURL=wp-date-js-after </script> <script id="underscore-js" src="https://www.mxp.tw/wp-includes/js/underscore.min.js"></script> <script id="wp-util-js-extra"> var _wpUtilSettings = {"ajax":{"url":"/wp-admin/admin-ajax.php"}}; //# sourceURL=wp-util-js-extra </script> <script id="wp-util-js" src="https://www.mxp.tw/wp-includes/js/wp-util.min.js"></script> <script id="cm-typesense-instant-search-js-extra"> var cm_typesense_instant_search_default_settings = {"debug":"","search_api_key":"EdWQumsaGeVn0VfZWFKLaPS994voOBUV","port":"443","node":"search.wp-meetups.com","protocol":"https://","enabled_post_types":["post"],"available_post_types":{"post":{"label":"Posts","value":"post"},"page":{"label":"Pages","value":"page"},"category":{"label":"Category","value":"category","type":"taxonomy"}},"search_config":{"post_type":{"post":{"label":"\u6587\u7ae0","max_suggestions":"3"}},"taxonomy":{"category":"Categories"}},"date_format":"Y/m/d","localized_strings":{"load_more":"Load More","show_less":"Show less","show_more":"Show more"},"elementor_edit_mode":"false"}; //# sourceURL=cm-typesense-instant-search-js-extra </script> <script id="cm-typesense-instant-search-js" defer src="https://www.mxp.tw/wp-content/plugins/search-with-typesense//build/frontend/instant-search.js"></script> <script id="cm-typesense-popup-js-extra"> var cm_typesense_popup_default_settings = {"hijack_wp_search__type":"instant_search"}; //# sourceURL=cm-typesense-popup-js-extra </script> <script id="cm-typesense-popup-js" defer src="https://www.mxp.tw/wp-content/plugins/search-with-typesense//build/frontend/popup.js"></script> <script>var rocket_beacon_data = {"ajax_url":"https:\/\/www.mxp.tw\/wp-admin\/admin-ajax.php","nonce":"fb3579c792","url":"https:\/\/www.mxp.tw\/plugins\/seogeox","is_mobile":false,"width_threshold":1600,"height_threshold":700,"delay":500,"debug":null,"status":{"atf":false,"lrc":false,"preconnect_external_domain":true},"elements":"img, video, picture, p, main, div, li, svg, section, header, span","lrc_threshold":1800,"preconnect_external_domain_elements":["link","script","iframe"],"preconnect_external_domain_exclusions":[]}</script><script data-name="wpr-wpr-beacon" src='https://www.mxp.tw/wp-content/plugins/wp-rocket/assets/js/wpr-beacon.min.js' async></script></body> </html>